Tuesday, February 25, 2020

DOUBLE LINKED LIST

Pengenalan Double Linked List

Pengertian Double Linked List adalah sekumpulan node data yang terurut linear atau sekuensial dengan dua buah pointer yaitu prev dan next
Double Linked List adalah linked list dengan node yang memiliki data dan dua buah reference link (biasanya disebut next dan prev) yang menunjuk ke node sebelum dan node sesudahnya. Pada implementasinya, terdapat dua variasi double linked list yaitu circular dan non-circular layaknya pada single linked list.

Operasi pada Double Linked List

Double linked list memiliki beberapa operasi dasar pada list, misalkan penyisipan, penghapusan, menampilkan maju, dan menampilkan mundur.

Insert First

 Penyisipan di awal list, sehingga pointer head juga akan berpindah ke elemen baru.

Insert Last

 Penyisipan di akhir list, sehingga pointer tail juga akan berpindah ke elemen baru.

Insert After / Before

 Penyisipan after/before kurang lebih sama satu sama lain. Pada kasus diatas berlaku juga insert before 3.

Delete First

 Penghapusan di awal list, pointer head akan berpindah ke node selanjutnya,sementara node awal akan di dealokasi.

Delete Last

 Penghapusan di akhir list, pointer tail akan berpindah ke node sebelumnya,sementara node akhir akan di dealokasi.

Delete Node

 Penghapusan node dengan data tertentu, pada kasus diatas yaitu delete node 2.

DOUBLE LINKED LIST CIRCULAR

Pengertian secara umumnya DLLC itu Linked list yang menggunakan pointer, dimana setiap node memiliki 3 field, yaitu:
1 field pointer yang menunjuk pointer berikutnya "next",
1 field menunjuk pointer sebelumnya " prev ",
1 field yang berisi data untuk node tersebut .

Double Linked List Circular pointer next dan prev nya menunjuk kedirinya sendiri secara circular. Bentuk Node DLLC













Double : artinya field pointer- nya terdiri dari dua buah dan dua arah , yaitu prev dan next
Linked List : artinya node-node tersebut saling terhubung satu sama lain.
Circular : artinya pointer next dan prev-nya menunjuk ke dirinya sendiri

Double Link List Circular menggunakan head
Menggunakan 1 pointer head (*first)
Head selalu menunjuk node pertama


















SINGLE LINKED LIST CIRCULAR

Materi Pertemuan 25 Feb 2020(GSLC LINKED LIST II)

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