Linked List (Data Structures)
1. Circular Single Linked List
Circular single linked list adalah single linked list yang tidak menerima value NULL yang dikarenakan node terakhir akan menunjuk ke head pointer sehingga circular single linked list tidak menerima value NULL.

2. Doubly Linked List
Doubly linked list adalah single linked list yang memiliki 2 arah pointer dimana sebuah node memiliki 2 pointer yaitu next dan prev.

Ada 2 cara untuk menyunting doubly linked list:
a. Insert
Insert digunakan untuk memasukan node baru ke dalam doubly linked list dan mengkoneksikan node tersebut dengan node yang sudah ada.
struct tnode *node = (struct tnode*) malloc (sizeof (struct tnode);
node->value = x;
node->next = NULL;
node->prev = tail;
tail->next = node;
tail = node;
b. Delete
Delete digunakan untuk menghapus node tertentu dari doubly linked list.
Jika menghapus node saja:
free (head);
head = NULL;
tail = NULL;
Jika menghapus head:
head = head.next;
free (head.prev);
head.prev = NULL:
Jika menghapus tail:
tail = tail.prev;
free (tail.next);
tail.next = NULL;
3. Circular Doubly Linked List
Circular Doubly Linked List adalah gabungan dari circular single linked list dan doubly linked list. Di dalam circular doubly linked list sebuah node mempunyai 2 arah pointer dan tidak menerima value NULL atau node terakhir menunjuk ke head pointer.

Sumber:
http://alvinstrukturdata.blogspot.com/2016/01/apa-itu-linked-list.html
1. Circular Single Linked List
Circular single linked list adalah single linked list yang tidak menerima value NULL yang dikarenakan node terakhir akan menunjuk ke head pointer sehingga circular single linked list tidak menerima value NULL.

2. Doubly Linked List
Doubly linked list adalah single linked list yang memiliki 2 arah pointer dimana sebuah node memiliki 2 pointer yaitu next dan prev.

Ada 2 cara untuk menyunting doubly linked list:
a. Insert
Insert digunakan untuk memasukan node baru ke dalam doubly linked list dan mengkoneksikan node tersebut dengan node yang sudah ada.
struct tnode *node = (struct tnode*) malloc (sizeof (struct tnode);
node->value = x;
node->next = NULL;
node->prev = tail;
tail->next = node;
tail = node;
b. Delete
Delete digunakan untuk menghapus node tertentu dari doubly linked list.
Jika menghapus node saja:
free (head);
head = NULL;
tail = NULL;
Jika menghapus head:
head = head.next;
free (head.prev);
head.prev = NULL:
Jika menghapus tail:
tail = tail.prev;
free (tail.next);
tail.next = NULL;
3. Circular Doubly Linked List
Circular Doubly Linked List adalah gabungan dari circular single linked list dan doubly linked list. Di dalam circular doubly linked list sebuah node mempunyai 2 arah pointer dan tidak menerima value NULL atau node terakhir menunjuk ke head pointer.

Sumber:
http://alvinstrukturdata.blogspot.com/2016/01/apa-itu-linked-list.html
Comments
Post a Comment