Pengertian Stuck dan contoh program C++
Pengertian
Stack berarti tumpukan. Jika dikaitkan dengan struktur data, Stack berarti sekumpulan data yang organisasi atau terstruktur dengan sifat operasi penambahan ( Push ) dan pengambilan (Pop) elemen melalui satu tempat (Top Of Stack) . “Top “ merupakan pintu untuk keluar masuknya elemen – elemen stack. A, B, dan C merupakan suatu koleksi. Dari ilustrasi dapat digambarkan bahwa C merupakan elemen yang terakhir memasuki stack namun pertama keluar dari stack. Begitu sebaliknya dengan A. A merupakan elemen pertama yang memasuki tumpukan namun terakhir saat keluar dari tumpukan. Di dalam pengembangannya, stack dapat dikelompokkan menjadi dua bagian. Dua bagian tersebut yaitu Single Stack dan Double Stack.
Single Stack Single Stack atau Stack Tunggal adalah stack yang hanya terdiri dari satu koleksi. Bila stack ini direpresentasikan dengan array, maka pengisian dan penghapusan harus dilakukan bertahap dari indeks TOP-nya.
Contoh Program Stuck
Outputnya seperti ini :
Stack berarti tumpukan. Jika dikaitkan dengan struktur data, Stack berarti sekumpulan data yang organisasi atau terstruktur dengan sifat operasi penambahan ( Push ) dan pengambilan (Pop) elemen melalui satu tempat (Top Of Stack) . “Top “ merupakan pintu untuk keluar masuknya elemen – elemen stack. A, B, dan C merupakan suatu koleksi. Dari ilustrasi dapat digambarkan bahwa C merupakan elemen yang terakhir memasuki stack namun pertama keluar dari stack. Begitu sebaliknya dengan A. A merupakan elemen pertama yang memasuki tumpukan namun terakhir saat keluar dari tumpukan. Di dalam pengembangannya, stack dapat dikelompokkan menjadi dua bagian. Dua bagian tersebut yaitu Single Stack dan Double Stack.
Single Stack Single Stack atau Stack Tunggal adalah stack yang hanya terdiri dari satu koleksi. Bila stack ini direpresentasikan dengan array, maka pengisian dan penghapusan harus dilakukan bertahap dari indeks TOP-nya.
Contoh Program Stuck
#include
#include
using namespace std;
int main()
{
int
SA[20],SB[20],X,I,TOPA,TOPB;
TOPA=-1;TOPB=-1;
cin>>X;
TOPA++;SA[TOPA]=X;
for(I=1;I<=9;I++)
{
cin>>X;
while(TOPA>-1&&SA[TOPA]>X)
{
TOPB++;
SB[TOPB]=SA[TOPA];
TOPA--;
}
TOPA++;
SA[TOPA]=X;
while(TOPB>-1)
{
TOPA++;
SA[TOPA]=SB[TOPB];
TOPB--;
}
}
for(I=1;I<=9;I++)
{
cout<
}
system("PAUSE");
return 0;
}
Outputnya seperti ini :