Menggabung Queue C++

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.........

Posting Komentar

1 Komentar

  1. walau tak ngerti, tetap hadir lagi menyapa kawan di awal pekan ceria :-)

    BalasHapus