#include “stdio.h”
#include “stdlib.h”
#include “conio.h”
struct node{
struct node *previous;
int info;
struct node *next;
};
typedef struct node *simpul;
void main()
{
simpul baru, head=NULL, tail=NULL, temp;
int pilih;
do
{
printf(“MENU\n”);
printf(“1. Insert Depan\n”);
printf(“2. View\n”);
printf(“3. Search\n”);
printf(“4. Delete Depan\n”);
printf(“PILIH: “);
scanf(“%d”, &pilih);
switch(pilih)
{
case 1:
int data;
printf(“Data Masuk: “);
scanf(“%i”, &data);
baru = (simpul) malloc(sizeof (struct node));
baru->info = data;
baru->next = NULL; //tidak menuju simpul mana2
baru->previous = NULL;
if (head == NULL) //khusus simpul pertama LL
{
head = baru; //pointer head, tail, baru sama
tail = baru;
}
else //untuk simpul2 berikutnya
{
baru->next = head;
head->previous = baru;
head = baru;
}
break;
case 2:
printf(“Dari HEAD\n”);
temp = head; //tampilkan mulai dr depan
while(temp!=NULL) //ulangi sampai temp bernilai NULL
{
printf(“%i “, temp->info);
temp = temp->next; //geser temp ke belakang
}
printf(“\nDari Tail\n”);
temp = tail; //tampilkan mulai dr depan
while(temp!=NULL) //ulangi sampai temp bernilai NULL
{
printf(“%i “, temp->info);
temp = temp->previous; //geser temp ke belakang
}
printf(“\n”);
break;
case 3:
int cari;
printf(“Cari Angka: “);
scanf(“%i”, &cari);
temp = head;
while((temp!=NULL)&&(temp->info!=cari))
{
temp = temp->next;
}
if(temp != NULL && temp->info == cari)
printf(“Data Ditemukan”);
else //if(temp == NULL)
printf(“Data Tidak Ditemukan”);
printf(“\n”);
break;
case 4://hapus depan
temp = head;
head = head->next;
if (head != NULL)
head->previous = NULL;
if (head == NULL)
tail = NULL;
free(temp);
break;
}
}while (pilih!=5);
}

May 8, 2009 at 12:14 pm |
makasih pak???????????
tapi aku masih binggung tentang double linked listnya
May 12, 2009 at 10:27 am |
mas, kl ini implementasi queue kayaknya salah krn pas dia Delete Depan, seharusnya dia delete yg diinsert pertama kali bukan yg terakhir, selengkapnya ada di blog saya, juga versi java dari program ini.
thanks!!
May 12, 2009 at 10:33 am |
memang ini bukan queue, akhi
hanya double LL umum, dimana penambahan dan penghapusan bisa banyak alternatifnya. utk yg queue hrs dibuat sendiri sesuai dgn aturan enqueue dan dequeue yg benar. TIA
May 12, 2009 at 2:21 pm |
AFAIR status facebooknya kan dulu contoh queue pake double linked list kan?
trs saya tanya pake link list biasa bisa ngga, trus mas nur bilang bisa
mungkin salah, lupa2 inget, soalnya di blog udah terlanjur kasih judul queue pake double linked list
)
cheers!!
July 11, 2009 at 5:47 pm |
kak tolong buatin dong program double ll,quequ untuk pemesanan tiket bioskup
August 18, 2009 at 10:09 pm |
ini benr 2 progrm ny????
August 21, 2009 at 12:48 pm |
maksudnya apa ya? mohon diperjelas