Selasa, 25 Februari 2020

Double Linked List


Double Linked List

                Menurut pengertian dari materi power point binus, double linked list merupakan linked list dengan dua tautan, dimana tautan yang pertama bereferensi pada data selanjutnya sedangkan tautan selanjutnya bereferensi pada tautan sebelumnya. Pada double linked list (referensi ppt bimay) terdapat 2 fungsi, yaitu insert dan delete. Insert dan delete dapat juga kita sebut dengan istilah push dan pop, dimana push berarti insert dan pop berarti delete.Istilah tersebut juga saya dapatkan dari dosen kelas besar CA-01 yang disampaikan oleh bapak fidelson. Push dan pop sendiri masing - masing memiliki tipe yang akan saya jelaskan beserta codenya.

1)      Push
Fungsi push berfungsi untuk menambah nilai node (data) dari barisan paling awal dan akhir.
·         PushHead
Merupakan fungsi push yang bertujuan menambah data melalui barisan awal.Contoh pengimplementasian ialah sebagai berikut:
Jika kita memiliki input data yaitu 1 2 3 4, maka output yang akan dihasilkan oleh pushhead ini adalah  4 3 2 1.
Contoh code :
                void pushhead(int x){
                curr = (struct data*)malloc(sizeof(struct data));
                curr->x = x;
                if(head==NULL){
                                head = tail = curr;
                }else{
                                curr->next = head;
                                head->prev = curr;
                                head->curr;
                }
                head->prev = NULL;
                tail->next=NULL;
}

·         PushTail
Merupakan fungsi push yang bertujuan menambah data melalui barisan akhir. Contoh pengimplementasiannya ialah sebagai berikut :
Jika kita memiliki input data 1 2 3 4, maka output yang akan dihasilkan oleh pushtail adalah 1 2 3 4.
Contoh code :
                void pushhead(int x){
                curr = (struct data*)malloc(sizeof(struct data));
                curr->x = x;
                if(head==NULL){
                                head = tail = curr;
                }else{
                                curr->prev = tail;
                                tail->prev = curr;
                                tail->curr;
                }
                head->prev = NULL;
                tail->next=NULL;
}

2)      Pop
Fungsi pop merupakan kebalikan dari fungsi push yang dimana fungsi ini bertujuan untuk menghapus suatu nilai atau data. Pop memiliki 3 tipe yaitu Pophead dan Poptail.
·         PopHead
Merupakan fungsi yang dimana fungsi tersebut akan menghapus suatu nilai atau data melalui barisan paling depan.
Contoh Code:
                void pophead(){
                                If(head!==NULL){
                                                If(head==tail){
                                                                free(head);
                                                                head=NULL;
                                                }else{
                                                                curr = head;
                                                                head = head -> next;
                                                                free(curr);
                                                                head->prev = NULL;
                                }
                }
}
·         Poptail
Merupakan fungsi pop yang dimana fungsi tersebut akan menghapus suatu nilai atau data dari barisan yang paling belakang.
Contoh code:
                void pophead(){
                                If(head!==NULL){
                                                If(head==tail){
                                                                free(head);
                                                                head=NULL;
                                                }else{
                                                                curr = tail->prev;
                                                                free(tail);
                                                                tail = curr;
                                                                tail->next = NULL;
                                }
                }
}
                Demikian review yang dapat saya buat, Terima kasih.



Referensi :
Ø  Materi Binus Maya