Stack (tumpukan) adalah struktur data yang memberikan data seperti tumpukan dalam gelas, jadi jika suatu data akan dimasukkan ke dalam gelas yang pertama akan menjadi yang terakhir untuk diambil, maka struktur data ini menganut kaidah LIFO (Last In First Out)
. Arti dari LIFO itu adalah yang terakhir masuk maka akan menjadi yang pertama keluar.
Stack yang akan Santekno buat menerapkan sistem OOP (Object Oriented Programming)
sehingga agar lebih mudah dipahaminya. Dalam OOP kita harus membuat suatu kelas yang akan kita namakan Stack.
Seperti yang sebelumnya telah diposting yaitu Stack menggunakan Array, implementasi Stack menggunakan STL lebih mudah karena program C sudah membuat library untuk stack sehingga kita tidak perlu pembuatan fungsi-fungsi khusus cukup kita include stack nanti semua sifat dari stack sudah ada.
Source Code
#include <iostream>
#include <stack>
typedef stack<int> Stack;
ostream& operator<< (ostream &out, Stack &s){
if(s.empty())
out << "Stack is empty\n";
else{
while(!(s.empty())){
int t = s.top();
out << t << endl;
s.pop();
}
}
return out;
}
int main(){
Stack st;
st.push(50);
st.push(15);
st.push(20);
cout << "Stack Awal\n";
cout << st;
int nilai=st.top();
st.pop();
cout << "\nHasil pop(): " << nilai << endl;
cout << "\nStack Akhir\n";
cout << st;
return 0;
}