Selasa, 14 Desember 2010

Praktikum ke 8

#include
#include
#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();

void cek();
private:
char A[maks];
int banyak;
int depan;
int belakang;
};
ostream& operator<<(ostream& out, const Queue& s){
out << "\nIsi Queue : ";
for(int i=0; i<s.banyak; i++){
out << s.A[i] << " ";
}
}
Queue::Queue(){
banyak=0;
depan=0;
belakang=0;
for(int i=0; i<maks; i++){
A[i]='O';
}
}
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 <=0; i–)
A[i+1]=A[i];
A[0]=x;
banyak++;
}
depan=1;
belakang++;
}
char Queue::dequeue(){
char temp=A[--banyak];
cout < ” << temp;
A[banyak]='O';
return temp;
depan–;
belakang–;
}
void Queue::cek(){
cout << "banyak elemen : " << banyak;
cout << "\tdepan : " << depan;
cout << "\tbelakang : " << belakang;
}
int main(int argc, char *argv[])
{
Queue q;
char c;
for(int i=0; i<7; i++){
cout <<endl<>c;
q.enqueue(c);
cout << q;
if(i==4){
char p=q.dequeue();
q.cetak();
cout << endl;
}
}
q.cetak();
cout << endl;
cout << "Cetak pakai overloading : " << q<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}

Tidak ada komentar:

Posting Komentar