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(){
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