Hal-hal yang di bahas :
1.Circular Single Linked List
2.Doubly Linked List
3.Circular Double Linked List
Single Linked List Circular (SLLC) adalah Single Linked List yang pointer nextnya menunjuk pada dirinya sendiri. Jika Single Linked List tersebut terdiri dari beberapa node, maka pointer next pada node terakhir akan menunjuk ke node terdepannya
Ilustrasi single linked list circular:
Proses pembuatan
Untuk pembatab head digunakan fungsi malloc untk menyediakan ruang memory bagi pointer head data pertama yang dibuat langsung diletakkan pada head dan membuat pointer untuk next
l=head;
for(i=0;i<n1;i++)
{
printf("masukkan nilai node : ",i+1);
scanf("%d",&n);
l->num=n;
l->next=((struct list *)malloc(sizeof(struct list)));
l=l->next;
l->next=0;
penyisipan
pertama melakkan pengecekan apakah ini data pertama yang akan di masukkan dengan meihat pada pointer next bernilai 0
selanjutnya kita akan memasukkan data yang akan mengganti posisi dari head
x=((struct list *)malloc(sizeof(struct list)));
x->num=val;
x->next=l;
y->next=x;
penghapusan
pertama melakukan pengecekan apakah yang dihapus pada head jika tidak maka nilai yang akan dihapus akan merubah posisinya dengan memindahkan nilai pointer head
{ head=l->next; }
ke pointer next dan dilakukan proses perpindahan
(pos==i)
{ l=l->next;
y->next=l;
}
y=l;l=l->next;
CARA KERJA
input data ke head
head
1 << pointer next
menyisipkan data pertama misal 3
3 1 posisi head berposisi 1 pindah ke 2 dan kemudian selanjutnya
pada proses penghapusan ini merupakan perubahan arah head ke pointer next baru di hapus

No comments:
Post a Comment