Menggabung 2 Queue menjadi 1. langsung ajha nich..........
#include <iostream.h>
#include <conio.h>
#define maks 10
class queue{
friend ostream& operator<<(ostream&, const queue&);
public:
queue();
int penuh(int);
int kosong(int);
void cetak();
char enqueue(char);
char dequeue();
void bagi(queue &, queue&);
private:
char A[maks];
int banyak;};
ostream& operator<<(ostream& out, const queue& s){
out<<"\nIsi Antrian : ";
for(int i=0;i<s.banyak;i++)
out<<s.A[i]<<" ";
return out;}
queue::queue(){
banyak=0;
for(int i=0; i<maks; i++)
A[i]='0';}
int queue::penuh(int s){
return s==maks?1:0;}
int queue::kosong(int s){
return s==0?1:0;}
void queue::cetak (){
cout<<"\nIsi Antrian : ";
for(int i=0;i<banyak;i++)
cout<<A[i]<<" ";}
char queue::enqueue(char x){
if (A[0]=='0'){
A[0]=x;
banyak++;}
else{
for (int i=banyak; i>=0; i--)
A[i+1]=A[i];
A[0]=x;
banyak++;}}
char queue::dequeue(){
char temp=A[--banyak];
A[banyak]='0';
return temp; }
void queue::bagi(queue &q1, queue &q2){
char a[5],b[5];
queue q3;
cout<<"\n\nAntrian Gabungan";
for(int i=0;i<5;i++){
a[i]=q1.dequeue();
q3.enqueue(a[i]);}
for(int i=0;i<5;i++){
b[i]=q2.dequeue();
q3.enqueue(b[i]);}
cout<<q3<<endl;}
int main(){
queue p,q,r;
char z[5] = {69,68,67,66,65};
char y[5] = {74,73,72,71,70};
cout<<"Antrian Pertama";
for(int i=5-1;i>=0;i--){
p.enqueue(z[i]);
cout<<p;}
cout<<"\n\nAntrian Kedua";
for(int j=5-1;j>=0;j--){
q.enqueue(y[j]);
cout<<q;}
r.bagi(p,q);
getch();
return 0;}
kalau ada kekurangan tolong di komeng.........
1 Komentar
walau tak ngerti, tetap hadir lagi menyapa kawan di awal pekan ceria :-)
BalasHapus