Ada 3
macem Linked List:
1. Single
Linked List
Cuma punya 1 node.
Cuma punya 1 node.
Contohnya:
1. Double
Linked List
Cuma punya 2 nodes.
Cuma punya 2 nodes.
Contohnya:
1. Multiple
Linked List
Punya lebih dari 2 nodes.
Punya lebih dari 2 nodes.
Contohnya:
Node
Panah yang menunjuk ke class lainnya.
Panah yang menunjuk ke class lainnya.
Circular Linked List
Linked List yang menunjuk dirinya sendiri di akhirnya (head dan tail di memory yang sama).
Linked List yang menunjuk dirinya sendiri di akhirnya (head dan tail di memory yang sama).
Dalam sebuah memory ada 3 bagian, yaitu head,
current dan tail.
*Deal
with it K
Data
yang masuk pertama kali akan langsung ditempatkan di Current.
Push Depan
Salah satu teknik pemindahan memory, dan yang dipindahkan dari memory tersebut adalah bagian Head-nya.
Salah satu teknik pemindahan memory, dan yang dipindahkan dari memory tersebut adalah bagian Head-nya.
Contoh
Code-nya:
struct Mahasiswa{
char nama[26];
struct Mahasiswa *next; // contoh structnya
}*head,*tail,*curr;
*curr =
(struct Mahasiswa*) malloc (sizeof(struct Mahasiswa));
strcpy(curr->nama,”Kurisu”);
curr->next
= head;
head =
curr;
Push Belakang
Sama dengan Push depan, namun yang dipindahkan adalah bagian Tail-nya.
Sama dengan Push depan, namun yang dipindahkan adalah bagian Tail-nya.
Contoh
Code-nya (berdasarkan Struct di atas):
if(tail
== NULL)
{
head =
tail = curr;
}else{
tail->next
= curr;
tail
= curr;
}
tail->next
= NULL;
POP
Salah satu teknik menghapus isi dari suatu memory.
Salah satu teknik menghapus isi dari suatu memory.
JIka
hanya ada satu data saja, maka code-nya :
head =
tail = NULL;
free(curr);
Ada 2
teknik dalam POP yaitu :
1. POP Depan
Menghapus bagian headnya.
Menghapus bagian headnya.
Contoh code-nya :
If(head == NULL)
{
head =
tail = NULL;
free(curr);
}else{
head = head->next;
free(curr);
}
2. POP Belakang
Menghapus bagian tailnya.
Menghapus bagian tailnya.
Contoh code-nya :
If(tail == NULL)
{
head = tail = NULL;
free(curr);
}else{
tail = tail->next;
free(curr);
}
THANK YOU!!
Nama : Krisna
NIM : 1701290236
No comments:
Post a Comment