12. Doubly Linear Linked List Data Structure + Algorithm = Program UNIV. INDONUSA Esa Unggul
UNIV. INDONUSA Esa Unggul Apakah Doubly? Sebuah list di mana node-nodenya memiliki dua buah pointer: yang pertama mengacu ke node berikutnya (next) dan yang mengacu ke node sebelumnya (prev): List kosong dapat digambarkan sbb: 1456 head NULL UNIV. INDONUSA Esa Unggul
Apakah Doubly? (Lanjutan) Jika ditambahkan dua buah node maka secara berurutan akan terlihat gambar sebagai berikut: head 1456 NULL NULL head 59 1456 NULL NULL UNIV. INDONUSA Esa Unggul
UNIV. INDONUSA Esa Unggul Data Structure Di bawah ini diberikan struktur untuk suatu doubly linear linked list : struct node{ int data; node* prev, // pointer to previous node * next; // pointer to next node }; UNIV. INDONUSA Esa Unggul
Data Structure (Lanjutan) class linklist{ private: node* head; public: linklist(){ head = NULL; } // operasi }; UNIV. INDONUSA Esa Unggul
Operasi pada Linked List Di bawah ini diberikan algoritma untuk menambahkan sebuah node sebagai node terdepan dan menampilkan semua node dalam list: void linklist::additem(int d){ node* newlink = new node; newlink->data = d; newlink->prev = NULL; newlink->next = head; if(head!=NULL) head->prev = newlink; head = newlink; } UNIV. INDONUSA Esa Unggul
Operasi pada Linked List (lanjutan) void linklist::display(){ node* current = head; while(current!=NULL){ cout << current->data << endl; current = current->next; } UNIV. INDONUSA Esa Unggul
UNIV. INDONUSA Esa Unggul Hi Einstein! Buat algoritma (member fungsi) untuk menghapus sebuah node pada sebuah doubly-linear-linked-list . UNIV. INDONUSA Esa Unggul