Di sini saya akan menjelaskan
sebuah struktur data yang disebut dengan stack. Stack adalah sekumpulan data
yang bertipe sama yang seolah-olah membentuk sebuah tumpukan yang dimana setiap
penambahan data maupun pengambilan data selalu terjadi di elemen yang paling
atas yaitu TOP, sehingga stack bersifat
LIFO(Last In First Out).
Operasi-operasi yang bisa
dilakukan pada stack adalah
·
Push : sebelum menambahkan data, program akan
melakukan proses checking apakah stack tersebut sudah penuh atau tidak, yaitu
fungsi IsFull(top==max_stack-1) , jika stack belum penuh maka stack akan di
beri data, lalu menjadikan data yang teratas menjadi TOP
·
Pop : sebelum
mengambil data, program akan melakukan proses checking apakah stack tersebut
dalam keadaan kosong atau isi di sebut fungsi IsEmpty(top==-1), jika stack
masih isi maka data pada stack akan di ambil dan data yang dibawahnya akan di
jadikan top
·
Print : menampilkan seluruh data yang ada pada
stack
Contoh coding C++ tentang stack
#include <conio>
#include <iostream>
#include <stdio>
//deklarasi stack dengan struck dan array
struct STACK{
int data[5];
int atas;
};
//deklarasi v tumpuk dari
struct
STACK tumpuk;
void main(){
clrscr();
int pilihan,baru,i;
//inisialisasi awal
tumpuk.atas=-1;
do{
clrscr();
cout<<"Push
Data"<<endl;
cout<<"Pop
Data"<<endl;
cout<<"print
data"<<endl;
cout<<endl;
cout<<"Pilihan : ";
cin>>pilihan;
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]<<endl;
tumpuk.atas--;
getch();
}
}
case 3 : {
if
(tumpuk.atas==-1){
cout<<"tumpukan
kosong"<<endl;
getch();
}
else {
cout<<"Data
= "<<endl;
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();
}
|
Contoh kode dari MataKuliah Praktikum Struktur Data.
0 komentar:
Posting Komentar