Push and Pop Linked List
Review 3 Maret 2020
Dari materi yang diajarkan di kelas besar pada tanggal 3 Maret 2020, saya mempelajari cara menggunakan push dan pop dalam singly dan double linked list.
Push: Insert elemen ke dalam linked list
Pop: Kebalikannya push, menghilangkan elemen dari linked list
Contoh codingan pop pada singly linked list:
void pop()
{
curr = head;
while(curr->next!=tail){
curr = curr->next;
}
free(tail);
tail = curr;
tail->next = NULL;
}
Contoh codingan push pada double linked list:
void push(int a)
{
curr = (struct Data*)malloc(sizeof(struct Data);
curr->value = a;
if(head -- NULL){
head = tail = curr;
}
else
{
tail->next = curr;
curr->prev = tail;
tail = curr;
}
tail->next = NULL;
}
Contoh codingan pop pada double linked list:
void pop2()
{
if(tail == head){
free(curr);
tail = head = curr = NULL;
}
else
{
tail = tail->prev;
free(tail->next);
tail->next = NULL;
}
}
Dalam function pop, digunakan "free" untuk menghindari error dan crash saat dicompile.
Cara print semua value dalam linked list:
curr =head;
while(curr!=NULL){
printf("%d\n", curr->value);
curr = curr->next;
}
}
Baik single maupun double linked list, memiliki cara pop dan push yang hampir sama, namum perlu diperhatikan bahwa pada double linked list, current dapat berpindah ke node sebelumnya dengan prev.
Reminder:
Dalam single maupun double linked list, sebelum head dan setelah tail adalah NULL.
Comments
Post a Comment