STACK
q LINEAR LIST
¨ Linear list adalah suatu struktur data yang merupakan himpunan terurut dari satuan data atau dari record.
¨ Elemen yang terdapat dalam daftar disebut simpul/node.
¨ Daftar disebut Linear karena elemen nampak seperti baris, bahwa setiap simpul (kecuali simpul pertama dan terakhir) selalu memiliki elemen penerus langsung (suksesor) dan elemen pendahulu langsung (predesor).
¨ Misalnya didefinisikan suatu linear list A yang terdiri atas T buah elemen sebagai berikut :
A=[ a1,a2,……………, aT ]
Jika T = 0 , maka A dikatakan sebagai “Null List” (list hampa).
¨ Suatu elemen dapat dihapus (delete) dari sembarang posisi pada linear list .
¨ Suatu elemen baru dapat dimasukkan (insertion) kedalam list dan dapat menempati sembarang posisi pada list tersebut.
¨ Jadi suatu linear list dapat berkurang atau bertambah setiap saat
Contoh : file merupakan linier list yang elemen-elemennya berypa record.
q DEFINISI STACK
STACK adalah suatu bentuk khusus dari linear list di mana operasi penyisipan dan penghapusan atas elemen-elemennya hanya dapat dilakukan pada satu sisi saja yaitu posisi akhir dari list. Posisi ini disebut puncak atau disebut sebagai “TOP(S)”.
¨ Prinsip Stack adalah LIFO ( Last In First Out )atau Terakhir masuk pertama keluar.
Setiap elemen tidak dapat dikeluarkan (POP keluar) sebelum semua elemen diatasnya dikeluarkan.
¨ Elemen teratas (puncak) dari stack dinotasikan sebagai TOP(S)
Misal diberikan stack S sebagai berikut :
S= [ S2,S2,………, ST ] èmaka TOP(S) = ST
¨ Untuk menunjukkan jumlah elemen suatu stack digunakan notasi NOEL(S).
Dari stack diatas maka NOEL(S) = T.
NOEL(S) menghasilkan nilai integer.
Jika diberikan sebuah stack S = [A,B,C,D] maka stack S ini dapat digambarkan sebagai berikut :
ilustrasi stack |
q OPERASI PADA STACK
1. CREATE (STACK)
2. ISEMPTY (STACK)
3. PUSH (ELEMEN, STACK)
4. POP (STACK)