#include <cstdlib>
#include <iostream>
#define maks 5
using namespace std;
class Que{
friend ostream& operator<<(ostream&, const Que&);
public:
Que();
int penuh(int);
int kosong(int);
void cetak();
void geser_kanan();
void enque(char);
char deque();
private:
char Q[maks];
int banyak;
};
ostream& operator<<(ostream& out, const Que& x){
out<<"\nIsi queue sebanyak : "<<x.banyak<<"\nyaitu : ";
for(int i=x.banyak-1;i>=0;i--)
out<<x.Q[i]<<" ";
cout<<endl;
cout<<endl;
}
Que::Que(){
banyak=0;
for(int i=0;i<maks;i++)
Q[i]='0';
}
int Que::penuh(int x){
return x==maks ? 1 : 0;
}
int Que::kosong(int x){
return x==0 ? 1 : 0;
}
void Que::cetak(){
cout<<"\nIsi queue : ";
for(int i=0;i<banyak;i++)
cout<<Q[i]<<" ";
}
void Que::enque(char x){
cout<<"Elemen : "<<x<<" masuk antrian";
if(penuh(banyak)) cout<<"\n\nqueue penuh\n";
else if(Q[0]=='0'){
Q[0]=x;
banyak++;
}
else{
int temp=0;
while(Q[temp]>x)temp++;
if(banyak != temp)
for(int i=banyak;i>=temp;i--)
Q[i+1]=Q[i];
Q[temp]=x;
banyak++;
}
}
char Que::deque(){
char temp=Q[--banyak];
cout<<"\nDequeue elemen --> "<<temp;
Q[banyak]='0';
return temp;
}
int main(int argc, char *argv[])
{
Que p;
p.enque('b');
cout<<p;
p.enque('d');
cout<<p;
p.enque('c');
cout<<"\nsisipkan c antara b d ";
cout<<p;
p.enque('e');
cout<<"\nsisipkan e dibelakang d ";
cout<<p;
p.enque('a');
cout<<"\n sisipkan a didepan b";
cout<<p;
char x=p.deque();
cout<<"\n\nelemen yang di-dequeue "<<x<<endl;
cout<<p;
cout<<" degueue elemen \n";
p.deque();
cout<<" degueue elemen:\n";
p.deque();
cout<<" degueue elemen:\n";
p.deque();
cout<<" degueue elemen:\n";
p.deque();
cout<<p;
system("PAUSE");
return EXIT_SUCCESS;
}
Sabtu, 01 Januari 2011
Langganan:
Posting Komentar (Atom)
Entri Populer
-
#include <iostream.h> template <class T> class Array1D{ friend ostream& operator<<(ostream&,const Array1...
-
Zulkarnain (09018289) Tugas Sdata Array Dinamis menggunakan Stack,. ada dua operasi dalam Stack yaitu : - Push - Pop ...
-
#include <cstdlib> #include <iostream> using namespace std; class Node{ friend class List; friend ostream&...
-
#include <iostream.h> class Bilangan{ friend ostream& operator<<(ostream&,const Bilangan&); friend is...
-
#include <cstdlib> #include <iostream> using namespace std; struct node { int item; node *left; node *right; }; class...
-
#include <cstdlib> #include <iostream> using namespace std; template<class T> class Kompleks{ friend class Op...
-
#include <cstdlib> #include <iostream.h> #define maks 5 class Stack{ friend ostream& operator<<(ostream...
-
#include <cstdlib> #include <iostream> #define maks 5 using namespace std; class ArrayID{ friend ostream& operator<...
-
#include <cstdlib> #include <iostream> #define maks 5 using namespace std; class Que{ friend ostream& operator...
-
#include <cstdlib> #include <iostream> #define maks5 using namespace std; class Array1D{ friend ostream& opera...
Tidak ada komentar:
Posting Komentar