19ceng / ceng203vy

Veri Yapıları
15 stars 8 forks source link

Öncelikli Kuyruk #24

Closed frkcn closed 2 years ago

frkcn commented 13 years ago

soru:

Öncelik kuyruk gerçeklemesini yapınız.

Tasarım

kuyruk elemanlarını tutmada kullanılan listede önceliği de ekleyerek bir tupple kullanmak işlerinizi büyük ölçüde kolaylaştıracaktır.

i. kuyruk elemanı: [ (item_i, öncelik_i) ]

Kullanım

>>> q = OncelikKuyrugu()
>>> q.enqueue("A", 1)    # [ ("A", 1)                               ]
>>> q.enqueue("B", 2)    # [ ("A", 1), ("B", 2)                     ]
>>> q.enqueue("C", 2)    # [ ("A", 1), ("C", 2), ("B", 2)           ]
>>> q.enqueue("D", 1)    # [ ("D", 1), ("A", 1), ("C", 2), ("B", 2) ]
>>> q.deque()
B
>>> q.deque()
C
>>> q.deque()
A
>>> q.deque()
D