Ada dua opeasi yang digunakan dalam stack, yaitu push (Memasukan element kestack) dan pop (mengeluarkan element dari stack).
1. Operasi Push
- Cara memasukan element kestack adalah dengan cara melihat status puncak stack. Penambahan element berarti banyak element bertambah 1. Jadi variabel banyak akan selalu bertambah 1 dengan ada penambahan element. Namun tentu saja, bila stack penuh, kita tidak dapat melakukan operasi push.
- Kebalikan dari operasi push, operasi pop status variabel banyak akan berkurang dengan 1. Namun kadang diperlukan pengecekan terhadap kondisi stack, yaitu bila stsck kosong, tidaklah mungkin melakukan operasi pop.
#include <cstdlib>
#include <iostream>
#include <string>
using namespace std;
int top=-1;
char stack[2];//max stack 100
char x;
void push(){
cout<<"Masukkan satu karakter : ";
cin>>x;
top++;
stack[top]=x;
}
void pop(){
if (top<0){
cout<<"stack kosong "<<endl;
return;
}
x=stack[top];
top--;
cout<<"Karakter dihapus dari stack"<<endl;
}
void cetak(){
if(top<0){
cout<<"stack kosong "<<endl;
return;
}
int i=0;
for(i=top; i>=0; i--)
cout<<stack[i]<<endl;
}
int main(){
cout<<"\t\t\tSlamet Islan Al Hidayah"<<endl;
cout<<"\t\t\t 10018075 "<<endl;
cout<<"\t\t\t Praktikum 6 "<<endl;
cout<<endl;
cout<<endl;
int input;
cout<<"Menu Pilihan "<<endl;
cout<<"1.Push "<<endl;
cout<<"2.Pop "<<endl;
cout<<"3.Cetak "<<endl;
cout<<"4.Quit "<<endl;
while(true){
cout<<"\nMasukkan pilihan : ";
cin>>input;
if (input==1){
push();
}else if (input==2){
pop ();
}else if (input==3){
cetak();
}else if (input==4){
break;
}else{
cout<<"perintah "<<input<<"tidak dikenal"<<endl;
}
}
}
Outputnya :
0 Response to " SData - Praktikum 6 "Stack Dengan Array" "
Post a Comment