STACK Dengan Borland C++

STACK atau TUMPUKAN merupakan bentuk khusus dari Linier List yang pemasukan dan penghapusan elemennya hanya dapat dilakukan pada satu posisi, yaitu posisi akhir dari List.
Kali ini saya mencoba membuat coding-an STACK atau TUMPUKAN dengan Borland C++. Coding-an ini adalah salah satu tugas Persentasi saya, yang lumayan membuat saya bingung dan gemeteran didepan kelas :D Semoga bermanfaat ya :D




#include "iostream.h"
#include "conio.h"

#define max_stack 5

struct tumpuk
{
 int top;
 int data [max_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 input(int data)
 {
  if(isempty()==1)
    {tumpuk.top++;
     tumpuk.data[tumpuk.top]=data;
     cout<<"Data "<<tumpuk.data[tumpuk.top]<<"Masuk ke stack"; }
  else if(isfull()==0)
   {tumpuk.top++;
     tumpuk.data[tumpuk.top]=data;
     cout<<"Data "<<tumpuk.data[tumpuk.top]<<" Masuk ke stack";}
   else
       cout<<"Tumpukan penuh";
  }

void pop()
 {
 if(isempty()==0)
  {cout<<"Data teratas sudah dihapus ";
  tumpuk.top--; }
  else
  cout<<"Data telah dihapus ";
  }

 void view()
  {
   if(isempty()==0)
   { for(int i=tumpuk.top; i>=0; i--)
   {cout<<"\n Tumpukan ke "<<i<<"->"<<tumpuk.data[i]; }
    }
   else
   cout<<"Tumpukan kosong";
  }

  void clear()
  {
  tumpuk.top=-1;
  cout<<"Semua data telah dihapus!";
  }

  void main()
  {
  int pil,data;
  inisialisasi();
  do
   {
   clrscr();
   cout<<"1. Input\n2. Pop\n3. isEmpty\n4. isFull\n5. View\n6. Clear\n7. Keluar\n Masukkan pilihan :";
   cin>>pil;
   switch(pil)
    {case 1: cout<<"Masukkan data = "; cin>>data;
      input(data);
        break;
     case 2: pop();break;
     case 3:
                 if(isempty()==0)
            { cout<<"Data telah masuk\n";
              cout<<"tumpukan berisi "<<tumpuk.top+1<<" data\n";
            }
             else
            { cout<<"Data kosong";}
             break;
     case 4:
                 if (isfull()==0)
            { cout<<"Tumpukan belum penuh \n";
              cout<<"Masih diperlukan "<<max_stack-(tumpuk.top)<<" Data untuk penuh\n";
            }
             else
             { cout<<"Data Sudah Penuh";}
               break;
     case 5: view();
      break;
     case 6 : clear();
      break;
     case 7: cout<<"Terima kasih, tekan enter untuk keluar"; }
     getch();
     }
     while(pil!=7);
     }

Ditulis Oleh : Unknown

Christian angkouw Sobat sedang membaca artikel tentang STACK Dengan Borland C++. Oleh Admin, Sobat diperbolehkan mengcopy paste atau menyebar-luaskan artikel ini, namun jangan lupa untuk meletakkan link dibawah ini sebagai sumbernya

Tiada ulasan:

Catat Ulasan