Bekleme kuyruğu
- Algoritmalar kursu
- Orta seviye
- Ders 47/80
- 4 dk
Bekleyen görevleri queue'da tutan kodu eklersin.
Bekleme kuyruğu
Şimdi geri al işlemini yazacağız. pop_undo stack'ten en son eklenen işlemi çıkarır ve döndürür; böylece geri al gerçekleşir.
Eğer stack boşsa, geri alacak bir şey yoktur. Bu durumda kullanıcı dostu bir mesaj döndürülür ve hata önlenir.
Pop işlemi: stack.pop(). Son eklenen elemanı çıkarır ve döndürür. LIFO mantığı sayesinde en son işlem geri alınır.
Boş stack kontrolü
Pop yapmadan önce stack'in boş olup olmadığını kontrol etmeliyiz. Boş stack'te pop işlemi hata verir ve program çökebilir.
Python'da if not stack: boş liste kontrolüdür. Boşsa bir mesaj döndür, değilse pop yap. Bu, güvenli bir geri al sağlar.
Bu kontrol, kullanıcı dostu ve hatasız bir geri al sistemi için şarttır; her zaman yapılmalıdır.
Uygulama Geri al
pop_undo(stack) yaz. Boşsa 'boş', değilse pop. s = init_undo(); push_undo(s, 'ekle'); print(pop_undo(s)) ile ekle yazdır.
Başlangıç kodu
def init_undo():
# Boş geri al yığını
return []
def push_undo(stack, action):
# Geri al yığınına ekle
stack.append(action)
return stack
def pop_undo(stack):
# Geri al yığınından çıkarÖrnek çözüm
def init_undo():
# Boş geri al yığını
return []
def push_undo(stack, action):
# Geri al yığınına ekle
stack.append(action)
return stack
def pop_undo(stack):
# Geri al yığınından çıkar
if not stack:
return 'boş'
return stack.pop()
s = init_undo()
push_undo(s, 'ekle')
print(pop_undo(s))Beklenen çıktı
ekle
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Bekleme kuyruğu: kavramları eşleştir
| Kavram | Anlamı |
|---|---|
Pop |
Çıkar |
Boş stack |
Mesaj |
LIFO |
Son ilk |
Undo |
Geri al |
2 Boş stack'te pop ne yapmalı?
- Hata ver
- Son elemanı al
- Crash
- Mesaj döndür Doğru cevap
Açıklama: Mesaj döndür
3 Pop işlemi
return stack.____()
return stack.pop()
Açıklama: pop doğru.