Summary Double Linked List Pertemuan 2
(Tambah pop serta push Mid)
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;
}
·
PushMid
Merupakan fungsi push yang bertujuan menambah data melalui barisan
tengan. Contoh pengimplementasiannya ialah sebagai berikut :
Jika kita memiliki data
yaitu 1 2 3 4 5 dan kita ingin menginput nilai 3 maka outputnya adalah 1 2 3 3
4 5.
Contoh codenya
Void PushMid(int age, char name[]){
if(head==NULL){
//pushHead
pushHead(age,name);
}else if(age <
head->age){
//pushHead
pushHead(age,name);
}else if(age >
tail->age){
pushTail(age,name);
}else{
current
= (struct human *)malloc(sizeof human);
strcpy(current->name,
name);
current->age
= age;
current->next
= current->prev = NULL;
struct
human *temp=head;
while(temp!=NULL
&& temp->age < current->age){
temp=temp->next;
}
current->prev=temp->prev;
current->next=temp;
temp->prev->next=current;
temp->prev=current;
}
}
·
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;
}
}
}
·
PopMid
Merupakan fungsi pop yang dimana berfungsi untuk
menghapus suatu nilai data melalui tengah.
Berikut contoh codenya :
void popMid(int age){
int temu=0;
if(head==NULL){
printf("No
Data\n");
}else{
current=head;
while(current!=NULL){
if(current->age==age){
temu=1;
break;
}
current=current->next;
}
if(temu==1){
if(current==head){
popHead();
}else
if(current==tail){
popTail();
}else{
current->prev->next=current->next;
current->next->prev=current->prev;
free(current);
}
}else{
printf("Data
Not Found\n");
}
}
}
·
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;
}
}
}
Stack(tumpukan)
sendiri merupakan fungsi yang penting dalam penggunaan data struktur yang
berfungsi untuk menyimpan elemen secara teratur dengan konsep LIFO(Last In First
Out). Sedangkan Queue adalah prinsip antrian yang sama seperti stack namun memiliki
konsep yang berbeda yaitu FIFO(First In First Out).
Demikian
review pertemuan yang dapat saya buat, Terima kasih.
Referensi :
Ø
Materi Binus Maya
Tidak ada komentar:
Posting Komentar