Catatan Setyo

Sebuah catatan warna-warni kehidupan


Listing Program DLLC (Part 2)

| 0 Comments

Lanjutan catatan kuliah DLLC.
Mohon maaf jika ada banyak kekurangan, ini hanya catatan kuliah yang sederhana. dan semoga bermanfaat.

#include
#include
#include
#include

//Pendeklarasian NODE Linklist
typedef struct TNode
{
int data;
TNode *next;
TNode *prev;
}TNode;
TNode *head;
TNode *tail;

//Inisialisasi linklist
void init()
{
head = NULL;
tail = NULL;
}

//fungsi isEmpty
int isEmpty()
{
if(head == NULL) return 1;
else return 0;
}

//tambah depan
void insertDepan (int databaru)
{
TNode *baru;
baru = new TNode;
baru->data = databaru;
baru->next = baru;
baru->prev = baru;
if(isEmpty()==1)
{
head=baru;
tail=baru;
head->next = head;
head->prev = head;
tail->next = tail;
tail->prev = tail;
}
else
{
baru->next = head;
head->prev = baru;
head = baru;
head->prev = tail;
tail->next = head;
}
cout<<"Data masuk\n"; } //tambah belakang void insertBelakang(int databaru) { TNode *baru; baru = new TNode; baru->data = databaru;
baru->next = baru;
baru->prev = baru;
if(isEmpty()==1)
{
head=baru;
tail=baru;
head->next = head;
head->prev = head;
tail->next = tail;
tail->prev = tail;
}
else
{
tail->next = baru;
baru->prev = tail;
tail = baru;
tail->next = head;
head->prev = tail;
}
cout<<"Data masuk\n"; } //tampil void tampil(){ TNode *bantu; bantu = head; if(isEmpty()==0) { do { cout<data<<" "; bantu=bantu->next;
}
while(bantu!=tail->next);
cout<data;
head = head->next;
tail->next = head;
head->prev = tail;
delete hapus;
}
else
{
d = head->data;
head = NULL;
tail = NULL;
}
cout<data;
tail = tail->prev;
tail->next = head;
head->prev = tail;
delete hapus;
}
else
{
d = head->data;
head = NULL;
tail = NULL;
}
cout<next!=head)
{
hapus = bantu;
bantu = bantu->next;
delete hapus;
}
head = NULL;
}
}

// Menu Utama
void main()
{
int pil;
int data;
init();
while(1)
{
clrscr();
cout<<"\n\t\t DOUBLE LINKED LIST CIRCULAR \n"; cout<<"\t\tßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß\n\n"; cout<<"\t\tÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»"<>pil;
clrscr();

switch(pil)
{
case 1:
cout<<"\nMasukkan Data (Integer) = ";cin>>data;
insertDepan(data);
break;
case 2: cout<<"\nMasukkan Data (Integer) = ";cin>>data;
insertBelakang(data);
break;
case 3: cout<<"\nIsi Linkist = \n\n";
tampil();
break;
case 4: hapusDepan();
break;
case 5: hapusBelakang();
break;
case 6: clear();
break;
case 7:
cout<<"\n\n\n\t\t\t---- TERIMA KASIH ----\n\n" ;
cout<<"\n\n\n\t\t\t[press anykey to Exit]";
getch();
exit(0);
}
getch();
}
}

Leave a Reply