- Dibutuhkan dua buah variabel pointer: head dan tail
- Head akan selalu menunjuk pada node pertama, sedangkan tail akan selalu menunjuk pada node terakhir.
-
Inisialisasi DLLNC
TNode *head, *tail;
Fungsi Inisialisasi DLLNC
void init()
{
head = NULL;
tail = NULL;
}
Function untuk mengetahui kosong tidaknya LinkedList
int isEmpty()
{
if(tail == NULL) return 1;
else return 0;
}
Pengkaitan node baru ke linked list di depan
Penambahan node baru akan selalu dikaitan di node paling depan,
namun pada saat pertama kali (data masih kosong), maka penambahan data
dilakukan pada tail/head nya. Sedangkan jika tidak kosong, data akan
ditambahkan didepan head, kemudian node baru akan berubah menjadi head.
void insertDepan (int databaru)
{
TNode *baru;
baru = new TNode;
baru->data = databaru;
baru->next = NULL;
baru->prev = NULL;
if(isEmpty()==1)
{
head=baru;
tail=head;
head->next = NULL;
head->prev = NULL;
tail->prev = NULL;
tail->next = NULL;
}
else
{
baru->next = head;
head->prev = baru;
head = baru;
}
cout<<"Data masuk\n"; } Penambahan node di belakang
Penambahan node di belakang akan selalu dikaitkan dengan tail dan
kemudian node baru tersebut akan menjadi tail void insertBelakang(int
databaru) { TNode *baru; baru = new TNode; baru->data = databaru;
baru->next = NULL;
baru->prev = NULL;
if(isEmpty()==1)
{
head=baru;
tail=head;
head->next = NULL;
head->prev = NULL;
tail->prev = NULL;
tail->next = NULL;
}
else
{
tail->next = baru;
baru->prev = tail;
tail = baru;
tail->next = NULL;
}
cout<<"Data masuk\n"; } Function untuk menampilkan isi linked
list void tampil() { TNode *bantu; bantu = head; if(isEmpty()==0) {
while(bantu!=tail->next)
{
cout<data<<" "; bantu=bantu->next;
}
cout<next != NULL)
{
hapus = head;
d = hapus->data;
head = head->next;
head->prev = NULL;
delete hapus;
}
else
{
d = head->data;
head = NULL;
tail = NULL;
}
cout<next != NULL)
{
hapus = tail;
d = tail->data;
tail = tail->prev;
tail->next = NULL;
delete hapus;
} else
{
d = head->data;
head = NULL;
tail = NULL;
}
cout<next;
delete hapus;
}
head = NULL;
tail = NULL;
}
Langganan:
Posting Komentar (Atom)
Posting Komentar