Stack adalah suatu bentuk khusus dari linier list, dengan operasi penyisipan dan penghapusan dibatasi hanya pada satu sisinya, yaitu puncak stack (TOP).
Aturan pentisipan dan penghapusan elemennya tertentu :
1. Penyisipan selalu dilakukan "diatas" TOP.
2. Penghapusan selalu dlakukan pada TOP.
Sewaktu praktikum di terangkan bahwa stack diasumsikan bahwa stack sebagai tumpukan buku, apabila kita mau menambah tumpukan buku tersebut maka kita akan menumpuk buku tersebut dari atas bukan dari bawah. Sedangkan contoh yang akan saya berikan adalah contoh program C++ yang di asumsikan ada 2 buah buku dan akan menambahkan 3 buah buku lagi. tumpukan yang pertama a b c dan akan menambahkan 3 tumpukan lagi yaitu d e f.
jadi nanti urutan yang akan terjadi nanti adalah :
f
e
d
c
b
a
Langsung saja ini source codenya :
/*
* File: main.cpp
* Author: candra dwi waskito
*
* Created on November 22, 2011, 10:45 PM
*/
#include <cstdlib>
#include <iostream>
using namespace std;
class stak
{
public:
stak();
void push();
void pop();
void cetak();
private:
int top;
char stack[6]; // asumsi max stack 100
char x;
};
stak::stak()
{
top=-1;
}
void stak::push()
{
if(top==5) cout<<"stack penuh";
else {
cout << "Masukkan satu karakter ";
cin >> x;
top++;
stack[top] = x;
}}
void stak::pop()
{
if(top < 0)
{
cout << "Stack kosong" << endl;
return;
}
x = stack[top];
top--;
cout << "Karakter yang di 'POP' adalah : " << x << endl;
}
void stak::cetak()
{
if(top < 0)
{
cout << "Stack kosong" << endl;
return;
}
int i = 0;
for(i = top; i >= 0; i--)
cout << stack[i] << endl;
}
int main(int argc, char** argv) {
int input;
stak a;
cout << "MASUKKAN PILIHAN : " << endl;
cout << "\tpush = 1" << endl;
cout << "\tpop = 2" << endl;
cout << "\tcetak = 3" << endl;
cout << "\tquit = 4" << endl;
while(true)
{
cout << "\nMasukkan pilihan: ";
cin>>input;
if(input==1)
{
a.push();
}
else if(input == 2)
{
a.pop();
}
else if(input == 3)
{
a.cetak();
}
else if(input == 4)
{
break;
}
else
{
cout << "Perintah '" << input << "' tidak dikenal" <<endl;
}
}
return 0;
}
dan hasilnya compilnya sebagai berikut :
Untuk Download full source code nya di SINI!!
Semoga bermanfaat :D
Friday, November 25, 2011
Subscribe to:
Post Comments (Atom)


0 comments:
Post a Comment