#include <cstdlib>
#include <iostream.h>
#define maks 5
class Stack{
friend ostream& operator<<(ostream&, const Stack&);
public:
Stack();
int penuh(int);
int kosong(int);
void cetak();
void push(char);
char pop();
private:
char A[maks];
int banyak;
};
ostream& operator<<(ostream& out, const Stack& s)
{
cout<<"\nIsi stack:";
for(int i=0; i<s.banyak; i++)
out << s.A[i] << " ";
}
Stack::Stack(){
banyak=0;
for(int i=0; i<maks; i++)
A[i]='0';
}
int Stack::penuh(int s){
return s==maks? 1:0;
}
int Stack::kosong(int s){
return s==0? 1:0;
}
void Stack::cetak(){
cout <<"\n Isi Stack :";
for(int i=0; i<banyak; i++)
cout << A[i] << " ";
}
void Stack::push(char x)
{
cout <<"\n Elemen Masuk :"<<x;
if (penuh(banyak)) cout<<"Stack kelebihan";
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 Stack::pop()
{
cout <<"\n Pop stack, elemen yang di-pop:"<<A[0];
char temp=A[0];
for (int i=0; i<banyak; i++)
A[i]=A[i+1];
A[banyak]='0';
banyak++;
return temp;
}
int main()
{
Stack stack;
for (char c='a'; c<'e'; c++){
stack.push(c);
stack.cetak();
}
char p=stack.pop();
stack.cetak();
cout<<"\n\nCetak pakai overloading:"<<stack;
system("PAUSE");
return 0;
}
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