Home > HASIL DISKUSI > STACK Discussion

STACK Discussion

Setelah diskusi kelompok berikut beberapa hasil yang kami dapat.

Stack adalah struktur yang sifatnya LIFO (last in first out) yaitu yang masuk belakangan akan keluar duluan. Dalam kehidupan sehari hari dapat kita jumpai contoh stack  antara lain bisa di baca di :

http://wahyuarief.wordpress.com/

Contoh program yang ada :

</pre>
<pre>#include <iostream>
//#define maks 5;

using namespace std;
class stack
{
 friend ostream& operator<<(ostream&, const stack&);
public:
 stack();
 int penuh(int);
 int kosong(int);
 void cetak();
 void push(char x);
 char pop();
private:
 int maks;
 int A[];
 int banyak;
};

ostream& operator<<(ostream& out, const stack& s)
{
out<<"\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<<"\nIsi stack : ";
for (int i=0;i<banyak;i++)
cout<< A[i]<<" ";}

void stack::push(char x)
{
 cout<<"\nElemen masuk : "<<x;
 if (penuh(banyak))cout<<"Stack 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 stack::pop()
{
 cout<<"\nPop 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()
{
 char c;
 stack stack;
 cin>>c;
 for(c='a';c<'d';c++)
 {
 stack.push(c);
 stack.cetak();
 }
 char p=stack.pop();
 stack.cetak();
 cout<<"\nCetak pakai overloading: "<<stack;
 system("PAUSE");
 }


<pre>
Categories: HASIL DISKUSI
  1. October 19, 2010 at 3:38 am

    wah….boy
    mantap e…..
    bisa nambah pengetahuan juga ni buat semstr juga.🙂

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: