#include <iostream>
#include <stdio.h>
using namespace std;
struct TNode{
int info;
TNode *prev;
TNode *next;
};
TNode *counter;
TNode *baru;
TNode *head;
TNode *tail;
TNode *bantu, *bantu1, *bantu2, *n;
int main()
{
//insert di depan (data masih kosong)
baru=new TNode;
baru->info=5;
baru->next=NULL;
baru->prev=NULL;
cout <<baru->info <<" <== data pertama yang ditambahkan ===> \n";
head=baru;
tail=baru;
//insert di belakang ---> satu kali
baru=new TNode;
baru->info=6;
baru->next=NULL;
baru->prev=NULL;
cout << baru->info << "\n";
baru->prev=tail;
tail->next=baru;
tail=tail->next;
//insert di belakang ---> satu lagi
baru=new TNode;
baru->info=7;
baru->next=NULL;
baru->prev=NULL;
cout << baru->info << "\n";
baru->prev=tail;
tail->next=baru;
tail=tail->next;
//insert di depan
baru=new TNode;
baru->info=8;
baru->next=NULL;
baru->prev=NULL;
cout << baru->info << "\n";
baru->next=head;
head->prev=baru;
head=head->prev;
//mencari data
bantu=head;
for (int i=0;i<2;i++){
//cout << data ke: "\n";
bantu=bantu->next;
}
//hapus data di tengah
bantu=head;
for (int i=0; i<2; i++){
bantu=bantu->next;
}
cout << "\n <==== SETELAH DATA AWAL DIHAPUS ====> \n \n";
cout << bantu->info << " = Data Tengah Sudah Dihapus \n";
bantu->next->prev=bantu->prev;
bantu->prev->next=bantu->next;
//hapus data di belakang
cout << "\n <==== SETELAH DATA AKHIR DIHAPUS ====> \n \n";
cout << tail->info << " = Tail sudah dihapus \n";
tail=tail->prev;
tail->next=NULL;
cout << "\n === data terbaru === \n";
//tampil data di depan
bantu=head;
while (bantu!=NULL){
cout << bantu->info; "\n";
bantu=bantu->next;
}
//tampil data di belakang
bantu=tail;
while (bantu!=NULL) {
cout << bantu->info; "\n";
bantu=bantu->prev;
}
//insert data di tengah
baru=new TNode;
baru->info=35;
baru->next=NULL;
baru->prev=NULL;
cout << baru->info << "\n";
baru->next=bantu->next;
baru->prev=bantu;
bantu->next=baru;
bantu->next->prev=baru;
cout << "\n -----data terbaru-----\n";
//tampil data di depan
bantu=head;
while (bantu!=NULL){
cout << bantu->info; "\n";
bantu=bantu->next;
}
//tampil data di belakang
bantu=tail;
while (bantu!=NULL) {
cout << bantu->info; "\n";
bantu=bantu->prev;
}
cout << "\n";
return 0;
}
Tidak ada komentar:
Posting Komentar