Nah lanjut ke program selanjutnya kali ini admin akan memberikan contoh program
menggunakan LINK LIST NON CIRCULAR silahkan di simak dan di pelajari baik - baik ya semoga
bermanfaat
Program Link List Circular |
Deklarasi Node
typedef
struct TNode{
int
data;
TNode
*next;
};
Penjelasan:
•Pembuatan struct bernama TNode yang
berisi 2
field, yaitu
field data bertipe
integer dan
field next yang bertipe
pointer dari TNode
•Setelah pembuatan struct, buat variabel head
yang bertipe
pointer dari TNode yang
berguna sebagai kepala
linked list.
Syntax Program
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
typedef struct TNode {
int data;
TNode *next;
}data;
TNode *head; //diisi menggunakan head sebagai pointer utama
void init(){ //Fungsi untuk inisialisasi awal linked list
head=NULL; //Untuk pertama kali,head bernilai NULL
}
int IsEmpty(){
if(head==NULL)
return 1;
else
return 0;
}
void insertdepan(int n){
TNode *baru; //Diisi menggunakan baru sebagai pointer TNode
baru=new TNode;
baru->data=n;
baru->next=NULL; //pointer baru->next bernilai NULL
if (IsEmpty()==1){
head=baru;
head->next=NULL;
}
else {
baru->next=head;
head=baru;
}
cout<<"\nData Terisi"<<endl;
}
void tampil(){
TNode *bantu;
bantu=head;
if (IsEmpty()==0){
while(bantu!=NULL){
cout<<bantu->data<<endl;
bantu=bantu->next;
}
}else
cout<<"\nMasih Kosong"<<endl;
}
void insertbelakang(int n){
TNode *baru,*bantu;
baru=new TNode;
baru->data=n;
baru->next=NULL;
if(IsEmpty()==1){
head=baru;
head->next=NULL;
}else{
bantu=head;
while(bantu->next!=NULL){
bantu=bantu->next;
}
bantu->next=baru;
}
cout<<"\nData Terisi"<<endl;
}
void hapusdepan(){
TNode *hapus;
int d;
if (IsEmpty()==0){
if(head!=NULL){
hapus=head;
d=hapus->data;
head=hapus->next;
delete hapus;
}
cout<<d<<"Terhapus"<<endl;
}else cout<<"\nMasih Kosong"<<endl;
}
main(){
int pil;
do{
int n;
cout<<"1. Insert Depan "<<endl;
cout<<"2. Insert Belakang " <<endl;
cout<<"3. Display"<<endl;
cout<<"4. Hapus"<<endl;
cout<<"5. Exit"<<endl;
cout<<"\nMasukan Pilihan (1-5): ";
cin>>pil;
switch(pil){
case 1:
cout<<"Masukan Data : "; cin>>n;
IsEmpty();
insertdepan(n);
break;
case 2:
cout<<"Masukan Data : "; cin>>n;
IsEmpty();
insertbelakang(n);
break;
case 3:
IsEmpty();
tampil();
break;
case 4:
IsEmpty();
hapusdepan();
break;
}
}while(pil!=5);
getch();
return 0;
}
Hasil Running Program
Program Link List Circular |
0 komentar
Posting Komentar