- 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;
}

Posting Komentar

 
Top