PRAKTIKUM IX

#include <iostream>
#define maks 5

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<<"\nIsi Queue sebanyak : "<<s.banyak<<"yaitu:";
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<<"\nIsi 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<<"queue penuh";
else if(A[0]=='0'){
A[0]=x;
banyak++;
}
else{
int tempat=0;
while(A[tempat]>x)tempat++;
if(banyak !=tempat)//jika tempatnya tidak pada akhir antrian
for(int i=banyak;i>=tempat;i--)
A[i+1]=A[i];
A[tempat]=x;
banyak++;
}
}

char Queue::dequeue()
{
char temp=A[--banyak];
cout<<" \nDequeue elemen--> "<<temp;
A[banyak]='0';
return temp;
}

int main(int argc, char *argv[])
{
//main(){
Queue p;
char i;
char fk;
for(int c=0;c<4;c++){
        cout<<"\n\n antrian"<<c+1<<":";cin>>i;
        p.enqueue(i);}
        cout<<p;
        cout<<"\n sisipkan elemen baru : " ; cin>>fk;p.enqueue(fk);
        cout<<p;

/*p.enqueue( 'b' );
cout<<p;
p.enqueue( 'd' );
cout<<p;
p.enqueue( 'c' );
cout<<p;
p.enqueue( 'e' );
cout<<p;
p.enqueue( 'a' );
cout<<p;*/

for(int c=0;c<5;c++){
char x=p.dequeue();
cout<<" elemen yang di-dequeue "<<x<<endl;
cout<<p;}
cout<<"\n\n\nNama ROSARY INDAH DEWI"<<endl;
cout<<"Nim 09018168"<<endl;
//return 0;
system("PAUSE");
    return EXIT_SUCCESS;
}

0 komentar:

Posting Komentar

 
Powered By Blogger
Powered By Blogger

Easy Blog Tricks

Powered By Blogger
© Grunge Theme Copyright by Rhossy Kawaii (si chubby) | Template by Blogger Templates | Blog Trick at Blog-HowToTricks