Linked List 2

Circular Single Linked List
Hampir sama dengan single linked list non circular, bahwa dibutuhkan sebuah kait untuk menghubungkan node-node data yang ada, dimana pada node terakhir atau tail yang semula menunjukkan NULL diganti dengan menunjuk ke kepala atau head.



Deklarasi Single Linked List

Struct tnode
{
int data;
tnode *next; 
}; 
void main()
{
head = new tnode;
head->next = head;


Double Linked List
Setiap node pada linked list mempunyai field yang berisi data dan pointer ke node berikutnya dan ke node sebelumnya. Untuk pembentukan node baru, mulanya pointer next dan prev akan menunjuk ke nilai NULL. Selanjutnya, pointer prev akan menunjuk ke node sebelumnya, dan pointer next akan menunjuk ke node selanjutnya pada list.

struct tnode {
  int value;
  struct tnode *next;
  struct tnode *prev;
  };
  struct tnode *head = 0;

  struct tnode *tail = 0;


Double Linked List Circular 
Linked list dengan menggunakan pointer, dimana setiap node memiliki 3 field, yaitu 1 field pointer yang menunjuk pointer berikutnya (next), 1 field menunjuk pointer sebelumnya (prev), serta sebuah field yang berisi data untuk node tersebut dengan pointer next dan pre-nya menunjuk ke dirinya sendiri secara circular.

typedef struct TNode
{
int data;
TNode *next;
Tnode *prev;
};

Komentar