Stack atau dalam bahasa kita disebut tumpukan adalah suatu urutan elemen dimana elemen-elemen tersebut
hanya
dapat diambil atau ditambah melalui posisi teratas saja. Istilah
kerennya LIFO (Last In, First Out), siapa yang masuk paling terakhir,
dialah yang keluar paling awal
Misalkan ada 20 tumpuk karung beras dalam gudang. Saat ingin
memindahkan beras-beras itu ke Gudang lain, orang akan mengambil
tumpukan paling atas terlebih dahulu,
khan? (Jawab aja iya, dech ^^
)
Stack memiliki 2 operasi dasar, yaitu:
- Operasi push, untuk menambahkan elemen (pada urutan teratas tentunya).
- Operasi pop, untuk mengambil elemen dan menghapusnya dari stack.
Berikut adalah contoh implementasi Stack dengan mengunakan Array dalam C:
11 | data_Type item[MAX], temp, x; |
15 | void inisialisasi(STACK *s) |
30 | void push(data_Type x, STACK *s) |
33 | puts ( "Stack is Full!" ); |
41 | data_Type pop(STACK *s) |
45 | puts ( "Stack is Empty!" ); |
49 | tampung = s->data[s->TOS]; |
56 | for (i=s->TOS-1; i>=0; i--) |
58 | printf ( "%d " , s->data[i]); |
68 | printf ( "Masukkan jumlah tumpukan : " ); |
71 | while ((lagi == 'y' ) || (lagi == 'Y' )) |
76 | printf ( "What do you want?: " ); |
82 | printf ( "Enter data: " ); |
90 | puts ( "Invalid Input!" ); |
95 | printf ( "Try again [y/t]? " ); |
Sekian dulu tulisan singkat saya. Mudah-mudahan bermanfaat bagi yang sedang memulai belajar C/C++
0 komentar:
Posting Komentar