Selasa, 15 November 2011

Queue menggunakan Array dan Linked List

Bagi temen-temen yang masih kurang paham tentang queue (antrian) menggunakan linked list atau yang catatannya masih belum lengkap, bisa belajar disini sekalian lengkapi catatan. Hihihi… Sebelum saya jelaskan tentang queue menggunakan linked list, ada baiknya kalau kita mereview sejenak queue menggunakan array. Semakin banyak berlatih, semakin baik bukan. Lets gooooo... !
1.       Queue  (antrian) menggunakan array
                Sekarang mari kita banyangkan orang-orang yang lagi ngantri, begitulah ilustrasi struktur data kita kali ini. Yang paling pertama datang untuk mengantri, maka dia pulalah yang paling duluan, First In First Out (FIFO). So, bagaimana cara menterjemahkannya kedalam bahasa pemprograman C++ ? yuuukk.
Pertama, kita deklarasikan dulu variabel-variabelnya,  begini
int antrian[10];
          int depan, belakang, ambil, n;
          depan=1;
          belakang=0;

setelah semua uda dideklarasikan, saatnya kita menambah antriannya
          belakang=belakang+1;
          antrian[belakang]=n;
n disitu maksudnya adalah data. simpel yach.

 Kemudian kalau mau menghapus/mengambil antrian bisa dengan menjadikan array ke i menjadi depan.
ambil=antrian[depan];
          while (depan!=belakang)
          {
                antrian [depan]=antrian[depan+1];
                depan=depan+1;
          }
                depan=1;
                belakang=belakang-1;
terakhir, mari kita menampilkan antrian kelayar dengan menggunakan metode pungulangan.
for (int i= 1; i<=belakang; i++)
         {
                  cout<< antrian[i]<<" ";
}
Sipp,, selesai. J bisa kan? Bisa donk!

2.       Queue menggunakan linked list
Sekarang kita masuk kepembahasan inti, queue menggunakan linked list, untuk menambah antrian seperti ini,
        simple *baru=new simple;
        baru->data=n;
        baru->next=NULL;
        baru->prev=belakang;
        belakang->next=baru;
        belakang=baru;

dan kalau mau menghapus/mengambil antrian,
bantu=depan;
          depan=bantu->next;
          depan->prev=NULL;
          delete (bantu);

terakhir untuk menampilkan antriannya,
bantu=depan;
          while(bantu!=NULL)
           {
                cout<<bantu->data<<" ";
                bantu=bantu->next;
          }
Selesai... !! biasanya kalau aku berhasil memecahkan tantangan program yang aku katakan adalah, “alhamdulillah, selesai. Seru.. seru.. seru...”. so, mari katakan “alhamdulillah, selesai. Seru.. seru.. seru...”.
Nih, kalau mau download program fullnya ,

0 komentar:

Posting Komentar

 
Copyright 2009 Ismii4ya. Powered by Blogger
Blogger Templates created by Deluxe Templates
Wordpress by Wpthemesfree