Header Ads

Antrian

Assalamu'alaikum Warahmatullahi Wabarakaatuh. Hallo sahabat TIFLearning, kali ini kita akan mempelajari salah satu materi struktur data, yaitu mengenai antrian. Dalam antrian sendiri terdapat 2 istilah, yaitu pelanggan masuk (otomatis antri dulu dari belakang) dan pelanggan keluar (pelanggan keluar dari bagian paling depan dan yang dibelakangnya maju ke depan).
Contoh pelanggan masuk dan pelanggan keluarnya dari 2 kasir (umpamanya) sebagai berikut :


Maksud dari gambar diatas adalah, terdapat 2 kasir, yaitu a1 dan a2. masing2 kasir ada yang antri dengan banyak antrian masing2 sebanyak 5 orang. Setiap pelanggan di kasir a2 selesai, maka pelanggan tersebut pergi ke kasir a1 dan antri dari belakang serta orang yang dibelakang pelanggan tersebut maju kedepan.
Agar lebih mudah dipahami, silahkan kopas dan pahami kodingan berikut :

#include<iostream>
using namespace std;
void init(int a1[], int a2[]){
int i;
for(i=0;i<5;i++) a1[i]=i+1;
for(i=5;i<10;i++) a2[i]=i+1;
cout<<"nilai a1 : ";
for(i=0;i<5;i++) cout<<a1[i]<<" ";
cout<<endl;
cout<<"nilai a2 : ";
for(i=5;i<10;i++) cout<<a2[i]<<" ";
cout<<endl<<endl;
}
void queue(int a1[], int a2[], int m){
for(int i=0;i<=m;i++) cout<<a1[i]<<" <- ";
cout<<endl<<endl;
}
void dequeue(int a1[], int a2[], int m){
int n;
cout<<"elemen a2 yang paling depan : "<<a2[5]<<endl;
n=a2[5];
for(int i=5;i<14-m;i++) a2[i]=a2[i+1];
cout<<"nilai a2 setelah bagian paling depan di dequeue :\n";
for(int i=5;i<14-m;i++) cout<<a2[i]<<" <- ";
cout<<endl;
cout<<"nilai a1 setelah elemen a2 yang di dequeue tadi di enqueue ke a1 :\n";
a1[m]=n;
queue(a1, a2, m);
}
main(){
int a1[10],a2[10], i, n;
init(a1,a2);
for(i=5;i<10;i++) dequeue(a1, a2, i);
}

Mungkin itu saja, silahkan dipelajari lagi dan dipahami lagi. Terima kasih telah mengunjungi blog jelek ini dan silahkan mempir ke teknik-teknik pemrograman lainnya :)

Tidak ada komentar:

Diberdayakan oleh Blogger.