Contoh Program Double Linked List dalam Bahasa C


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

13 Responses to Contoh Program Double Linked List dalam Bahasa C

  1. slam says:

    makasih pak???????????

    tapi aku masih binggung tentang double linked listnya

  2. ib says:

    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!!

    • bluejundi says:

      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

  3. ib says:

    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!!

  4. juni says:

    kak tolong buatin dong program double ll,quequ untuk pemesanan tiket bioskup

  5. momo says:

    ini benr 2 progrm ny????

  6. ahmad says:

    om, pak, mas..
    bantui ane donk..
    contoh program membalik nama dengan single stack and double stack..

    ane dah buat tapi kok gk jalan..
    help me plizz..
    mohon bantuannya ya..?

  7. henny kristiani says:

    pak, buatin program c++ linked list penambahan dari depan dan penambahan dari belakang donk, saya bingung . trims

  8. bluejundi says:

    yg di atas itu sdh ada menu add di depan. klo pengen add di bagian belakang ya tinggal mainkan pointer tail-nya. misal:

    tail->next = new; //next dr tail skrg diarahkan ke baru
    new->prev = tail; //sebelumnya baru, diarahkan ke tail
    tail = new; //geser tail ke posisi baru

    beres🙂

    nb: akan lebih jelas jika digambarkan

    • henny kristiani says:

      pak, makasih atas bantuannya . alamdulillah saya udah coba yg diatas tinggal saya tambah2in dikit ternyata berhasil . besok tinggal dikumpulin . ^_^

  9. veronica says:

    pak kalo nambahin data nya dari tengah2 dan kita bisa milih mo nambahin data nya di elemen array yg keberapa gimana yah?

  10. GILE brooo Keren banget post nya sangat membantu
    berkat loe tugass gw selesai nie

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: