Double Linked List
Struktur Double Linked List
Contoh isi struct di double linked list:
Struct mhs{
Int score;
Char nama[100];
Struct mhs *next;
Struct mhs *prev;
}*head,*tail,*curr;
Double Linked List
untuk Masukkan data dari depan(Insert depan)
jika curr->nilai < head->nilai
Data lama
Data baru
mau ditambahkan
Disambung dengan
data lama
curr
->next = head;
head
-> prev = curr;
head = curr; (artinya nilai curr = head)
head -> prev = NULL;
tail -> next = NULL;
Double Linked List
untuk Masukkan data dari tengah(Insert tengah)
jika curr->nilai > tail->nilai
tail->next = curr;
curr->prev = tail;
tail = curr;
tail->next = NULL;
Double Linked List untuk masukkan data dari belakang(insert belakang)
temp = head;
while(temp->next->score){
temp = temp->next;
}
curr->next = temp->next;
temp->next=curr;
Cat : karena ada temp maka
harus dideklarasi nanti dengan struct … *temp;
Hapus depan (jika head->nilai ==x)
curr = head;
head = head->next;
free(curr);
head->prev = NULL;
Hapus tengah (jika
tail->score == x)
curr = tail->prev;
free(tail);
tail = curr;
tail->next = NULL;
Hapus Belakang
curr=head;
while(curr->score!=x){
curr= curr->next;
}
curr->prev->next=curr->next;
curr->next->prev=curr->prev;
free(curr);
Sumber : dari kelas kecil(Lab) data structure
Tidak ada komentar:
Posting Komentar