Selasa, 28 Mei 2013

Struktur Data 2nd

#include<stdio.h>
typedef struct Tnode
{
int value;
Tnode *next;
Tnode *back;
};

Tnode *baru, *bantu, *head, *tail;
void tambah (int value)
{
baru= new Tnode;
baru->next = baru;
baru->back = baru;
baru->value = value;
}
void tambahbelakang(int value)
{
tambah (value);
if(head==NULL)
head = tail = baru;
else {
tail->next = baru;
baru->back = tail;
tail=baru;
}
}

void tambahdepan (int value)
{
tambah (value);
if(head == NULL)
head = tail = baru;
else {
baru->next = head;
head->back = baru;
head=baru;
}
tail->next = head;
head->back = tail;
}

void cetak()
{
bantu = head;
do{
printf ("%d",bantu->value);
bantu= bantu->next;
}
while(bantu!=head);
}

void menu()
{
int pil;
int isi;
do{
printf("\nMenu : \n1. Masuk dari depan \n2. Masuk dari belakang \n3. Cetak \n4. Exit \n Masukan Pilihan anda : ");
scanf ("%d",&pil);
switch (pil){
case 1:
printf("Masukan nilai: ");scanf("%d",&isi);
tambahdepan (isi);
break;
case 2:
printf("Masukan nilai: ");scanf("%d",&isi);
tambahbelakang (isi);
break;
case 3 : cetak ();
break;
case 4:
printf ("Tidak Ada Pilihan Tersebut, Masukan Anka dari 1 sampai 3");
}
}
while (pil!=4);
}
int main ()
{
menu ();
return 0;
}

0 komentar:

Posting Komentar