Learn everything from EXPERIENCE

selamat datang di blog saya, mohon tinggalkan kritik dan saran

C++ stack

Dalam ilmu komputer, stack atau tumpukan merupakan sebuah koleksi objek yang menggunakan prinsip LIFO (Last In First Out), yaitu data yang terakhr kali dimasukkan akan pertama kali keluar dari stack tersebut. Stack dapat diimplementasikan sebagai representasi berkait atau kontigu (dengan tabel fix).
Ciri Stack :
  • Elemen TOP (puncak) diketahui
  • penisipan dan penghapusan elemen selalu dilakukan di TOP
  • LIFO Pemanfaatan Stack :
  • Perhitungan ekspresi aritmatika (posfix)
  • algoritma backtraking (runut balik)
  • algoritma rekursif
Operasi Stack yang biasanya :
  1. Push (input E : typeelmt, input/output data : stack): menambahkan sebuah elemen ke stack
  2. Pop (input/output data : stack, output E : typeelmt ) : menghapus sebuah elemen stack
  3. IsEmpty ()
  4. IsFull ()
  5. dan beberapas selektor yang lain

    source code Stack C++
    #include <iostream.h>
    #include <conio.h>
    //deklarasi 'STACK' dengan sturck dan array

    struct STACK
    {
        int data[5];
       int atas;

    };

    //deklarasi variable 'tumpuk' dari
    STACK tumpuk;

    void main()
    {

    clrscr();
        int pilihan,baru,i;
    //inisialisasi awal

    tumpuk.atas=-1;
       do
       {    clrscr();
           cout<<"1.Push Data"<<endl;
          cout<<"2.Pop Data"<<endl;
          cout<<"3.Print Data"<<endl;
          cout<<endl;
          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.data[tumpuk.atas];
                         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<<tumpuk.data[i]<<" ";
                   }
                   getch();
                   }
                   break;
             }
             default:
             {
             cout<<"Tidak ada dalam pilihan"<<endl;
             }
    }
    }while(pilihan>=1&&pilihan<=3);
    getch();
    }

    Semoga artikel ini bermanfaat. . . . :)




0 komentar:

Posting Komentar

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Best Buy Printable Coupons