Simple Stack

Berikut ini adalah program stack sederhana


#include<stdio.h>
#include<iostream.h>
#include<conio.h>
 
#define MAX_STACK 6
 
typedef struct _STACK
{
 int top;
 char data[MAX_STACK];
} STACK;
 
STACK tumpuk;
 
void inisialisasi()
{
 tumpuk.top = -1;
}
 
int isEmpty()
{
 if(tumpuk.top==-1)
 return 1;
 else
 return 0;
}
 
int isFull()
{
 if(tumpuk.top==MAX_STACK-1)
 return 1;
 else
 return 0;
}
 
void push(char d)
{
 if(isFull()!=1)
 {    
   tumpuk.top++;
   tumpuk.data[tumpuk.top]=d;
 }
 else
 {
    cout<<"Stack Penuh";   
 }
}
 
void pop()
{
 cout<<"Data yang di POP="<<tumpuk.data[tumpuk.top]<<endl;
 tumpuk.top--;
}
 
void clear()
{
 tumpuk.top=-1;
 cout<<"data clear";
}
 
void showstack()
{
 cout<<"ISI STACK"<<endl;
 for (int i = tumpuk.top; i >=0 ; i--) {
 cout<<"|"<<i<<"| : "<<tumpuk.data[i]<<"|"<<endl;
 }
 cout<<"END OF STACK"<<endl;
}

void posisiTop();
 
int main()
{
  inisialisasi();
  char pilih,data;
  
  while(pilih !='Q')
  {
     system("cls");
     cout<<"=== MENU STACK ==="<<endl;
     cout<<"1. PUSH "<<endl;    
     cout<<"2. Pop "<<endl;
     cout<<"3. Clear Stack "<<endl;
     cout<<"4. Tampilkan Stack"<<endl;
     cout<<"5. Posisi Top"<<endl;
     cout<<"Q. KELUAR"<<endl;
     cout<<"Pilih Menu ?";
     cin>>pilih;
     
     switch (pilih)
     {
     case '1':cout<<"Masukan Data:";
              cin>>data;
              push(data);
              getch();
              break;
     case '2':pop();
              getch();
              break;
     case '4':showstack();
              getch();
              break;
     case '5':posisiTop();
              getch();
              break;
     }//end switch
  
  }
 
 return 1;
}

void posisiTop()
{
    cout<<"index top berada pada posisi="<<tumpuk.top<<endl;    
}

Ubahlah source code diatas agar data pada STACK diatas sebelumnya karakter menjadi bertipe String

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