Monday, May 11, 2009

Contoh Program Queue Menggunakan Array

#include "stdio.h"
void main()
{ int queue[5];
int depan = -1;
int belakang = -1;
int pilihan, data, i;

do{
printf("MENU\n");
printf("1. ENQUEUE\n2. DEQUEUE\n3. VIEW\n4. EXIT\n");
printf("Pilihan = "); scanf("%d", &pilihan);
switch (pilihan)
{
case 1: //enqueue
//apakah queue belum penuh?
if (belakang < 4 )
{ printf("Data Masuk = "); scanf("%d", &data);
queue[belakang+1] = data;
belakang++;
if (belakang == 0)
depan = 0;
}
else
printf("Queue penuh!\n");

break;
case 2: //dequeue
//apakah queue belum kosong?
if (depan <= belakang)
{ printf("Data keluar = %d\n", queue[depan]);
depan++;
}
else
printf("Queue kosong!\n");
break;
case 3:
for(i=depan; i<=belakang; i++)
printf("%d ", queue[i]);
printf("\n");
break;
}
}while (pilihan != 4);
}

4 comments:

  1. pak materi Queue ni buat materi Sd TF-sore besok rabu ta?????

    ReplyDelete
  2. mas, berikut koreksi saya:
    1. front di queue selalu terdepan, index ke-0, maka ga ada front++
    2. ketika dequeue, seharusnya yg diambil data terdepan (sudah bener) tapi abis itu antrian bergeser kedepan satu per satu, akibatnya rearnya yg diencrement bukan front-nya yg di increment
    akibatnya ketika program ini dijalankan setelah mencapai index terakhir, ga bisa enqueue lagi meskipun udah di dequeue karena frontnya indexnya tetap

    selengkapnya ada di blog saya.

    thanks!!

    ReplyDelete