Temukan Nilai terkecil Menggunakan Stacks dalam program
About
Program untuk menemukan angka terkecil dari barisan angka [10 9 6] dengan cara membandingkan 1 persatu dan menggunakan pop() jika menemukan angka yang lebih kecil
Programnya
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
def push(stack, index):
stack.append(index)
def pop(stack):
if stack:
return stack.pop()
else:
return None
def top(stack):
if stack:
return stack[-1]
return None
stack = [int(x) for x in input("Angka (pisahkan dengan spasi): ").split()]
#split () untuk mengubah setiap inputan yang dipisahkan dari spasi menjadi string yang berbeda contoh "1 2 3" > "1", "2", "3"
# x = "1" > int(x) = 1
# x = "2" > int(x) = 2
# x = "3" > int(x) = 3
#maka nanti dibaca [1, 2, 3] oleh line dibawah
kecil = []
while stack:
index = pop(stack) #menaruh element terakhir di stack ke index dan juga menghapus
while kecil and kecil[-1] < index: #jika semua angka yang didalam (kecil) lebih besar dari index
push(stack, pop(kecil)) #maka semua angka yang lebih besar dari index itu akan kembali ke stack dan menghapus nya di kecil
push(kecil, index) #menaruh angka yang ada di index ke (kecil)
print(top(kecil))
This post is licensed under CC BY 4.0 by the author.