• Tidak ada hasil yang ditemukan

Think Different ASD: Stack

N/A
N/A
Protected

Academic year: 2017

Membagikan "Think Different ASD: Stack"

Copied!
19
0
0

Teks penuh

(1)

Algoritma dan Struktur Data

(2)
(3)

ADT Stack

Stack merupakan list dengan operasi insert dan delete

sedemikian hingga node yang terakhir diinsertkan merupakan node yang pertama kali didelete

Stack biasanya digambarkan sebagai tumpukan barang di

mana operasi insert dan delete dilakukan di bagian puncak tumpukan

Operasi stack : isFull, isEmpty, makeEmpty, push, pop, top.

top

push (insert)

(4)
(5)

Implementasi Stack

(6)
(7)
(8)

Operasi Stack

• Beberapa operasi stack

– Push Stack

– Pop Stack

– Stack Top

– Empty Stack

– Full Stack

(9)
(10)

Create Stack

(11)
(12)

Push

1. if (stack full) 1.success = false 2. else

1.allocate (newPtr) 2.newPtr->data = data

3.newPtr->next = stack.top 4.stack.top = newPtr

5.stack.count = stack.count + 1 6.success = true

3. end if

(13)
(14)

Pop

1. if (stack empty) 1. success = false 2. else

1. dltPtr = stack.top

2. dataOut = stack.top->data 3. stack.top = stack.top->next 4. stack.count = stack.count – 1 5. recycle (dltPtr)

6. success = true 3. end if

(15)

Stack Top

1. if (stack empty) 1.success = false 2. else

1.dataOut = stack.top->data 2.success = true

3. end if

(16)

Empty Stack

1. if (stack not empty) 1.result = false

2. else

1.result = true 3. end if

(17)

Full Stack

1. if (memory available) 1. result = false

2. else

1. result = true 3. end if

(18)

Stack Count

(19)

Destroy Stack

1. loop (stack.top not null) 1. temp = stack.top

2. stack.top = stack.top->next 3. recycle (temp)

2. end loop

Referensi

Dokumen terkait

Umumnya dipakai untuk menyimpan object data yang terstruktur, misal: data mahasiswa, karyawan, buku, barang, dsb... Array

Menambah sebuah node pada doubly linked list. Menghapus sebuah node dari doubly

memakai Selection Sort , agar elemen terkecil berada paling depan (urutan pertama), semakin ke belakang semakin besar 2.. Urutkan

• Untuk menambah data pada linked list, harus diketahui head pointer (pHead), pointer yang menunjuk node sebelum tempat penyisipan (pPre) data yang akan

pada elemen PUNCAK (TOP STACK), sehingga elemen yang pertama masuk.. akan menjadi elemen terakhir yang dikeluarkan dari stack (First In

menggunakan pointer, dimana setiap node memiliki 3 field, yaitu 1 field pointer yang menunjuk pointer berikutnya (next), 1 field menunjuk pointer sebelumnya (prev), serta sebuah

Menghapus node pada AVL Tree sama dengan menghapus binary search tree procedure dengan perbedaan pada penanganan kondisi tidak balance. Penanganan kondisi tidak balance

Graph dengan 6 node dan 7 edge yang merepresentasikan jaringan pertemanan pada Facebook.. • Setiap sisi berlaku