Mau Blog kamu Menghasilkan Uang. Daftarkan Blog kamu di kumpulBlogger.com

STACK Pada C++

undefined/undefined

STACK

STACK atau TUMPUKAN adalah suatu struktur data yang seolah-olah terlihat seperti data yang tersusun secara ‘menumpuk’, dimana ada data yang terletak diatas data yang lainnya.
Bersifat LIFO (Last In First Out), berarti data yang masuk terakhir akan keluar pertama.
Operasi pada Stack :
Push    = menambah data pada STACK pada tumpukan paling atas
Pop      = mengambil data pada STACK pada tumpukan paling atas





Ilustrasi Stack







contoh listing program C++ dengan menggunakan stack :

#include
#include

//deklarasi 'STACK' dengan struct dan array         
struct STACK
{
     int data[5];
     int atas;
};

//deklarasi variabel 'tumpuk' dari struct
STACK tumpuk;
               
void main()
{
clrscr();
     int pilihan,baru,i;
//inisialisasi awal         
     tumpuk.atas=-1;      
     do
     {
           clrscr();
           cout<<"1. Push Data"<

           cout<<"2.. POP data"<
           cout<<"3. print data"<
           cout<
           cout<<"pilihan = "; cin>>pilihan;
           clrscr;
 
switch(pilihan)
     {
           case 1:
           {
                if(tumpuk.atas==5-1)  
                {
                     cout<<"Tumpukan penuh";
                     getch();
                }
                else
                {
                     cout<<"Data yang akan di-push = ";
                     cin>>baru;
                     tumpuk.atas++;
                           tumpuk.data[tumpuk.atas]=baru;
                     }

break;
           }
           case 2:
                {
                     if(tumpuk.atas==-1)
                     {
                     cout<<"Tumpukan kosong";
                     getch();
                     }
                     else
                     {
                     cout<<"Data yang akan di-pop = "<                    
tumpuk.atas--;
                           getch();
                     }
break;
                }
                case 3:
                {
                     if(tumpuk.atas==-1)
                     {
                     cout<<"Tumpukan kosong";
                           getch();
                     }
                     else
                     {
                     cout<<"Data = ";
                     for(i=0; i<=tumpuk.atas; i++)
                           {
                     cout<                            }
                     getch();
                     }
                     break;
                }
                default:
                {
                cout<<"Tidak ada dalam pilihan"<               
}
           }
     }while(pilihan>=1 && pilihan<=3);
     getch();
}

0 comments:

Posting Komentar

Banner

Visitors

Kumpul Blogger

Support

Site Meter Submit Express Inc.Search Engine Optimization Web Directory
OnToplist is optimized by SEO
Add blog to our directory.