Pemahaman akan Single Linked List Circular tidak jauh
berbeda dengan Single Linked List non Circular, hanya saja pada Single Linked
List Circular, gerbong terakhir (ekor) akan terhubung dengan gerbong depan kepala
.
typedef struct gerbong{
int data;
gerbong *next;
};
Buat juga variable pointer bertipe gerbong
gerbong *head;
gerbong *tail;
gerbong *baru;
gerbong *hapus;
gerbong *bantu;
Pada main, inisialisasi head sebagai gerbong baru
head=new gerbong;
head=NULL;
int isEmpty(){
if (head==NULL)
return 1;
else
return 0;
}
1. Tambah depan
void
tambahdepan( int databaru ){
baru=new gerbong;
baru->data=databaru;
baru->next=baru;
if( isEmpty() ){
head=tail=baru;
head->next=head;
tail->next=tail;
}
else{
baru->next=head;
head=baru;
tail->next=head;
}
printf("data masuk\n");
}
2. Tambah belakang
void tambahbelakang(
int databaru ){
baru=new gerbong;
baru->data=databaru;
baru->next=baru;
if(
isEmpty() ){
head=tail=baru;
head->next=head;
tail->next=tail;
}
else{
tail->next=baru;
tail=baru;
tail->next=head;
}
printf("data masuk\n");
}
Tidak ada komentar:
Posting Komentar