pratikum VIII

#include <cstdlib>
#include <iostream>
#define maks 7

using namespace std;
class Queue{
      friend ostream& operator<<(ostream&, const Queue&);
public:
       Queue();
       int penuh(int);
       int kosong(int);
       void cetak();
       void enqueue(char);
       char dequeue();
private:
        char A[maks];
        int banyak;
        };
       
ostream& operator<<(ostream& out, const Queue& s)
{ cout<<"\n ISI QUEUE:";
    for(int i=0;i<s.banyak;i++)
    out<<s.A[i]<<" ";
}

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 <<"\n ISI QUEUE:";
     for(int i=0;i<banyak;i++)
     cout<<A[i]<<" ";
      }

void Queue::enqueue(char x){
    
     cout<<"\nElemen:"<<x<<" masuk antrian ";
     if(penuh(banyak))cout<<" \nqueue penuh!~!! ";
     else 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];
     cout<<"\nDequeue elemen -->"<<temp;
     A[banyak]='0';
     return temp;
     }
    

int main(int argc, char *argv[])
{
    Queue q;
            for(char C='A'; C<'H'; C++){
                     q.enqueue(C);
                     cout<<q;
                     }
            char p=q.dequeue();
            q.cetak();
            cout<<"\n";
            cout<<"\n\nCetak pakai overloading:"<<q;
            cout<<"\n";
            cout<<"09018156\n";
            system("PAUSE");
            return EXIT_SUCCESS;
}
Tags:

About author

Information Technology Blog provides you with information and links to computer tips, tricks, solutions, computer components, smartphone, tablet, news and relevant information to IT related topics.

0 komentar

Leave a Reply