Linked list

Linked list adalah sebuah cara menyambung node-node atau memory yang dibuat secara sembarangan dengan pointer-pointer. Linked list sangat lah penting dalam permainan data dalam data structure.


Ada 3 macam Linked list di dalam data structure yaitu:

1. Circular single linked list
    Circular single linked list adalah linked list dimana pointer pada node terakhir menunjuk pada data pertama. pointer-pointer dalam circular biasanya tidak null. Seperti yang terdapat pada namanya circular single linked list hanya memiliki pointer yang dapat menujuk data yang ada berada didepannya. Circular single linked list terdiri dari node-node dan node utama dalamnya. node utamanya biasa sering disebut sebagai Head dalam source code.
Dari gambar diatas kita dapat melihat bahwa Head menunjukan ke data yang pertama, sehingga apabila kita memanggil head maka kita akan memanggil data yang pertama. yang kedua itu adalah panah di gambar, panah digambar hanya terdapat 1 dan menunjuk ke data depannya, panah ini dapat disebut sebagai pointer next dimana apabila kita menulis printf("%d",head->next) maka yang terprint adalah data kedua dimana data setelah head.

2. Double linked list
   Double linked list adalah cara menghubung node-node yang telah dibuat secara dua arah yaitu next dan previous. Berbeda dengan circular single linked list, double linked list memiliki dua pointer dimana akan menunjuk data sebelum dan data sesudahnya. Double linked list memiliki inisial data pertama sama dengan circular single linked list yaitu head. Dengan menggunakan Double linked list dapat mengakses data yang berada didepannya dan dibelakangnya juga.
Dapat dilihat bahwa double linked list memiliki dua arah panah dan pointer null untuk data paling awal dan data paling akhir. Data paling akhir pada node-node tersebut disebut dengan tail dimana tail dapat dijadikan sebagai patokan untuk memasukan data dari belakang (Circular single linked list juga bisa dimasukan tail apabila ingin memasukan data dari belakang).

3. Circular double linked list
    Circular double linked list tidak beda jauh dengan double linked list, hanya saja linked list satu ini tidak memiliki pointer yang null. jadi pointer-pointer data paling belakang dan paling depan akan menunjuk ke data lainnya.
dapat dilihat bahwa pointer previous data paling awal menunjuk ke data paling depan dan pointer next data paling akhir menunjuk ke data paling awal.

ini adalah code cara mendeklarasi data dan panah next dan prev:
struct tnode {
  int value;
  struct tnode *next;
  struct tnode *prev;
  };
  struct tnode *head = 0;

  struct tnode *tail = 0;
Selamat Mengoding!!
next >>>>>Stack and Queue

Comments

Popular posts from this blog

Heap

Data Structure