Algoritma dan Struktur Data
Struktur Doubly Linked List
Node-node doubly linked list saling berkait
melalui pointer. Bagian prev sebuah node
menunjuk node selanjutnya. Bagian next
sebuah node menunjuk node sesudahnya.
pHead : pointer yang menunjuk node
pertama
A
pHead
Struktur Doubly Linked List
 Setiap node terdiri atas
 prev, yaitu pointer yang menunjuk ke node
sebelumnya pada list
 Data
 next, yaitu pointer yang menunjuk ke node
sesudahnya pada list
 prev node pertama bernilai NULL
 next node terakhir bernilai NULL
A
pHead
Struktur Sebuah Node Doubly Linked List
Setiap node terdiri atas
prev, yaitu pointer yang menunjuk ke node
sebelumnya pada list
Data
next, yaitu pointer yang menunjuk ke node
sesudahnya pada list
Struktur Sebuah Node Doubly Linked List
//pointer ke node sebelum dan sesudahnya struct node *prev;
struct node *next; };
Operasi Doubly Linked List
1. Menambah sebuah node pada doubly linked list. 2. Menghapus sebuah node dari doubly linked list. 3. Mencari node pada doubly linked list.
Menambah Node ke Doubly-Linked List Kosong
Initial: Code:
pNew = (node *) /*create node*/ malloc(sizeof(node));
pNew -> data = 39;
pNew -> next = pHead; pNew -> prev= pHead;
Menghapus Node Pertama Doubly-Linked List
Before: Code:
pHead = pCur ->next;
pCur ->next ->prev = NULL; free(pCur);
After:
pHead 75 124
pCur
pHead Recycled 124
Tugas
 Modifikasilah code single linked list menjadi doubly