- 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 :
- Push (input E : typeelmt, input/output data : stack): menambahkan sebuah elemen ke stack
- Pop (input/output data : stack, output E : typeelmt ) : menghapus sebuah elemen stack
- IsEmpty ()
- IsFull ()
- dan beberapas selektor yang lain
Begin
top:=0;
For i:=1 to maks do
Begin
Writeln(’masukkan nama ke’, ‘ ‘,i,’ ‘,’='); readln(stack[i]);
top:=top+1;
End;
writeln(’posisi tumpukan=’,top);
Writeln(’pengambilan data’);
writeln(’berapa data yang akan diambil?’);readln(n);
if n<4>
begin
For i:=1 to maks do
Begin
Elemen:=stack[top];
top:=top - 1;
End;
end;
Writeln(’data elemen sekarang=’,elemen);
writeln(’posisi tumpukan=’,top); Readln;
End.
End.
Fungsi dalam Stack:
- Fungsi init: fungsi yang digunakan untuk inisialisasi atau membuat stack baru yang masih kosong.
- Fungsi full: digunakan untuk mengetahui stack penuh atau tidak.
- Fungsi empty: digunakan untuk mengetahui stack kosong atau tidak.
- Fungsi clear: digunakan untuk mengosongkan stack. Stack dianggap kosong apabila puncak stack berada pada posisi -1.
- Fungsi push: digunakan untuk menambahkan data ke dalam stack. Penambahan data tidak bisa dilakukan apabila stack sudah penuh. Urutan perintahnya adalah: menambahkan nilai top dan menambahkan data pada posisi nilai top. Jika dalam Linked List menggunakan method addLast
- Fungsi pop: digunakan untuk mengeluarkan data teratas stack dengan syarat bahwa stack tidak kosong. Urutan perintahnya adalah : menghapus data pada posisi nilai top dan menurunkan nilai top. Jika dalam Linked List menggunakan method removeLast
Tidak ada komentar:
Posting Komentar