Double Linked List Circula
• Double: artinya field pointer-nya terdiri dari dua buah dan dua arah, yaitu prev dan next
• Linked List: artinya node-node tersebut saling terhubung satu sama lain.
• Circular: artinya pointer next dan prev-nya menunjuk ke dirinya sendiri
• Setiap node pada linked list mempunyai field yang berisi data dan pointer ke node
berikutnya & ke node sebelumnya
• Untuk pembentukan node baru, mulanya pointer next dan prev akan menunjuk ke
dirinya sendiri
• Jika sudah lebih dari satu node, maka pointer prev akan menunjuk ke node
sebelumnya, dan pointer next akan menunjuk ke node sesudahnya.
Deklarasi node
Dibuat dari struct berikut ini:
typedef struct TNode{
int data;
TNode *next;
Tnode *prev;
};
Pembentukan node baru
• Digunakan keyword new yang berarti mempersiapkan sebuah node baru berserta
alokasi memorinya.
TNode *baru;
baru = new TNode;
baru->data = databaru;
baru->next = baru;
baru->prev = baru;
· Penambahan data di depan
Penambahan node baru akan dikaitan di node paling depan, namun pada saat pertama kali (data masih kosong), maka penambahan data dilakukan pada head nya.
Pada prinsipnya adalah mengkaitkan data baru dengan head, kemudian head akan menunjuk pada data baru tersebut sehingga head akan tetap selalu menjadi data terdepan. Untuk menghubungkan node terakhir dengan node terdepan dibutuhkan pointer bantu.
Tidak ada komentar:
Posting Komentar