Untuk memonitori kondisi array, dibutuhkan tiga variabel, aitu depan, belakang, dan banyak_elemant. Variabel depan digunakan untuk memonitori posisi element yang berada paling depan. Variabel belakang digunakan untuk memonitoring posisi element yang berada paling belakang, sedangkan variabel banyak_element digunakan untuk menghitung banyaknya element antrian.
Contoh Programnya :
Contoh Programnya :
#include <cstdlib>Outputnya :
#include <iostream>
using namespace std;
class queue{
public:
queue();
void enqueue();
void dequeue();
void cetak();
private:
int antrian[30];
int antrian1[15];
int antrian2[15];
int temp1[15];
int temp2[15];
int data, data2;
};
queue::queue(){
suit:
cout<<"Masukkan Jumlah Antrian (harus genap) : ";
cin>>data;
if(data%2==0){
for(int i=1;i<=data;i++){
cout<<"Input Antrian "<<i<<" : ";
cin>>antrian[i];
}
data2 = data/2;
}
else goto suit;
}
void queue::dequeue(){
for(int j=1;j<=data2;j++){
temp1[j]=antrian[j];
}
for(int k=(data2+1);k<=data;k++){
temp2[k-data2]=antrian[k];
}
}
void queue::enqueue(){
for(int i=1;i<=data2;i++){
antrian1[i]=temp1[i];
antrian2[i]=temp2[i];
}
}
void queue::cetak(){
cout<<endl;
cout<<"Hasil Inputan Antrian : ";
for(int i=1;i<=data;i++){
cout<<antrian[i]<<" ";
}
cout<<endl;
cout<<"Setelah Dipecah Menjadi 2 Bagian Menggunakan Operasi enqueue dan dequeue"<<endl;
cout<<"\nAntrian 1 : ";
for(int i=1;i<=data2;i++){
cout<<antrian1[i]<<" ";
}
cout<<"\nAntrian 2 : ";
for(int i=1;i<=data2;i++){
cout<<antrian2[i]<<" ";
}
}
int main(int argc, char *argv[])
{
cout<<"\t\t\tSlamet Islan Al Hidayah"<<endl;
cout<<"\t\t\t 10018075 "<<endl;
cout<<"\t\t\t Praktikum 7 "<<endl;
cout<<endl;
cout<<endl;
queue antrian;
antrian.dequeue();
antrian.enqueue();
antrian.cetak();
cout<<endl;
cout<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
0 Response to " SData - Praktikum 7 "Simulasi Queue Dengan Array" "
Post a Comment