Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DECLARE Node // Deklarasi struktur Node
- DECLARE data
- DECLARE next
- DECLARE LinkedList // Deklarasi Linked List
- DECLARE head
- FUNCTION push(item):
- DECLARE new_node
- new_node.data = item // Buat node baru dengan data yang disediakan
- IF LinkedList.head = NULL THEN
- LinkedList.head = new_node // Jika linked list kosong, buat node baru sebagai head
- ELSE
- DECLARE current
- current = LinkedList.head
- WHILE current.next != NULL:
- current = current.next // Traverse linked list hingga menemukan node terakhir
- END WHILE
- current.next = new_node // Tambahkan node baru di akhir linked list
- FUNCTION pop():
- IF LinkedList.head = NULL THEN
- OUTPUT "Stack kosong, pop gagal" // Jika linked list kosong, tampilkan pesan kesalahan
- ELSE IF LinkedList.head.next = NULL THEN
- DECLARE popped_item
- popped_item = LinkedList.head.data // Jika linked list hanya memiliki satu node, ambil datanya
- LinkedList.head = NULL // Hapus head
- RETURN popped_item // Kembalikan data yang dihapus
- ELSE
- DECLARE current, prev
- current = LinkedList.head
- prev = NULL
- WHILE current.next != NULL:
- prev = current
- current = current.next // Traverse linked list hingga menemukan node terakhir
- END WHILE
- DECLARE popped_item
- popped_item = current.data // Ambil data dari node terakhir
- prev.next = NULL // Hapus koneksi dari node sebelumnya ke node terakhir
- RETURN popped_item // Kembalikan data yang dihapus
- END IF
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement