// //

Double Stack

Stack ganda merupakan dua stack dalam satu array. Dimana stack 1 berada pada sisi indeks yang terkecil dan dasar stack2 berada pada posisi indeks yang terbesar. Konsep utama proses adalah LIFO (Last In First Out). Konsep ini berlaku baik untuk stack1 maupun stack2.

Terdapat beberapa kondisi yang bisa terjadi dalam stack, antara lain : Stack1 kosong terjadi jika nilai Top1=-1 sedangkan Stack2 kosong terjadi jika nilai Top2=n, dimana n adalah jumlah maksimal data yang dapat disimpan dalam kedua stack. Baik pada stack1 maupun stack2 dapat diketahui apakah stack dalam kondisi penuh (full) atau tidak dengan melihat selisih nilai Top2 dan Top 1 harus sama dengan 1 (satu). dengan formula matematika dapa dihitung dengan "Top2 - Top1 = 1", jika kondisi terpenuhi maka kedua stack penuh. Baik Stack1 maupun Stack2 dapat diisi jika selisih kedua Top pada stack lebih besar 1,"Top2 - Top1>1". 

Proses-proses yang terdapat dalam double stack adalah :
  • Inisialisasi
  • Push1, Push untuk stack1
  • Pop1, Pop untuk stack1
  • Push2, Push untuk stack2
  • Pop2, Pop untuk stack2

No comments:

Post a Comment