hanya pada posisi akhir (top) saja. Dengan demikian stack adalah struktur data yang menggunakan konsep LIFO(Last In Fist Out).
Operasi stack :
- ISEMPTY
- ISFULL
- PUSH
- POP
- CLEAR
Deklarasi Stack
ISEMPTY
Operasi ini digunakan untuk memeriksa apakah stack dalam keadaan kosong. Operasi
ini penting dilakukan dalam proses pop. Ketika suatu stack dalam keadaan kosong,
maka proses pop tidak bisa dilakukan. Adapun langkah-langkah operasi ini adalah :
Jika top bernilai 0 (untuk elemen yang dimulai dengan index 1) atau top bernilai -1 (untuk elemen
yang dimulai dengan index 0), maka berarti stack dalam keadaan empty (kosong)
yang akan me-return-kan true (1) dan jika tidak berarti stack mempunyai isi dan
me-return-kan nilai false (0).
pendeklarasian dalam c++
int isempty(tstack stack)IsFull
{
if (stack.top==-1)
return 1;
else
return 0;
}
Operasi ini berguna untuk memeriksa keadaan stack apakah sudah penuh atau belum.
Operasi ini akan menghasilkan nilai true (1) jika stack telah penuh dan akan
menghasilkan nilai false (0) jika stack masih bisa ditambah. Langkah-langkah untuk
operasi ini adalah :
Operasi ini akan memberikan nilai true (1) jika field top sama dengan field
maks_elemen (untuk array yang elemennya dimulai dari posisi 1) atau top sama
dengan maks_elemen-1 (unauk array yang elemennya dimulai dari posisi 0).
pendeklarasian dalam c++
int isfull(tstack stack)Push
{
if (stack.top==(stack.maks_elemen-1))
return 1;
else
return 0;
}
Operasi push adalah operasi dasar dari stack. Operasi ini berguna untuk menambah
suatu elemen data baru pada stack dan disimpan pada posisi top yang akan
mengakibatkan posisi top akan berubah. Langkah operasi ini adalah :
1.Periksa apakah stack penuh (isfull). Jika bernilai false/0 (tidak penuh) maka
proses push dilaksanakan dan jika pemeriksaan ini bernilai true/1 (stack
penuh), maka proses push digagalkan.
2.Proses push-nya sendiri adalah dengan menambah field top dengan 1,
kemudian elemen pada posisi top diisi dengan elemen data baru.
pendeklarasian dalam c++
void push(tstack *stack, int baru)Pop
{
if(!isfull(*stack))
{
stack->top++;
stack->elemen[stack->top]=baru;
}
else
{
printf("Stack Full. Push Gagal.\n");
}
}
Operasi pop adalah salah satu operasi paling dasar dari stack. Operasi ini berguna
untuk mengambil elemen terakhir (top) dan kemudian menghapus elemen tersebut
sehingga posisi top akan berpindah. Operasi ini biasanya dibuat dalam bentuk
function yang me-return-kan nilai sesuai data yang ada di top.Langkah operasi ini adalah :
memeriksa apakah stack sedang keadaan kosong, jika tidak kosong maka data
diambil pada posisi yang ditunjuk oleh posisi top, kemudian simpan dalam
variable baru dengan nama data, kemudian posisi top – 1, kemudian nilai pada
variable data di-return-kan ke function.
pendeklarasian dalam c++
int pop(tstack *stack)
{
int data;
if(!isempty(*stack))
{
data=stack->elemen[stack->top];
stack->top--;
return data;
}
else
return 0;
}
Clear
Digunakan untuk mengosongkan stack,sehingga top pada stack kembali berada di posisi Top=-1
pendeklarasian dalam c++
Void clear ()
{
Tumpuk.data=tumpuk.top=-1
Printf(“data clear”);
}
0 komentar:
Posting Komentar