CodeBlanks Logo Icon CodeBlanks

Geri al stack'i

Yapılan işlemleri stack'e ekleyen kodu yazarsın.

Geri al stack'i

Şimdi stack'e işlem ekleyen fonksiyonu yazacağız. init_undo önceki dersten geliyor ve burada kullanılacak.

Push işlemi: stack.append(action) ile işlem stack'in sonuna eklenir. LIFO olduğu için en son eklenen en üstte durur ve ilk olarak geri alınır.

Birkaç işlem ekleyip stack'in büyümesini ve durumunu görebiliriz; bu geri al geçmişini izler.

İşlem listesi

İşlemler string olarak temsil edilir: 'ekle', 'sil', 'değiştir'. Her işlem stack'e eklenir ve geri al geçmişini oluşturur.

Birden fazla işlem eklenirse, stack büyür. En son eklenen en üstte; geri alındığında ilk olarak o çıkar ve geçmişten silinir.

Stack'in boyutu, yapılabilecek geri al sayısını gösterir; boş stack geri alacak bir şey olmadığını belirtir.

Uygulama İşlem ekle

push_undo(stack, action) yaz. Stack'e ekle, stack döndür. s = init_undo(); push_undo(s, 'ekle'); push_undo(s, 'sil'); print(s) ile ['ekle', 'sil'] yazdır.

Başlangıç kodu

solution.py
def init_undo():
    # Boş geri al yığını
    return []
def push_undo(stack, action):
    # Geri al yığınına ekle

Örnek çözüm

solution.py
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
s = init_undo()
push_undo(s, 'ekle')
push_undo(s, 'sil')
print(s)

Beklenen çıktı

['ekle', 'sil']

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Stack push hangi metodu kullanır?

  • pop
  • insert
  • append Doğru cevap
  • remove

Açıklama: append

2 Push dönüşü

Soru
stack.append(action)
return ____
Cevap
stack.append(action)
return stack

Açıklama: stack doğru.

3 Geri al stack'i: kavramları eşleştir

Kavram Anlamı
append Push
pop Çıkar
LIFO Son ilk
Stack Geri al

Orta seviye bölümündeki tüm dersler