Python, programcıların çeşitli karmaşık görevleri kolayca gerçekleştirmesine yardımcı olan birçok yerleşik modül, işlev ve ifade sağlar. Ayrıca, uygulamalarda verilerin verimli bir şekilde oluşturulmasını ve yönetilmesini sağlayan listeler, tanımlama grubu ve sözlükler gibi birçok yerleşik veri yapısı sağlar. Kuyruk, verileri depolayan ve yöneten bir veri yapısıdır. Verileri ilk giren ilk çıkar (FIFO) düzeninde saklar. İlk eklenen öğe önce kaldırılacak. Kuyruğun işleyişini günlük yaşam örneğimizden anlayabiliriz. Müşteri kuyruğu gibi; önce gelen müşteri önce kolaylaştırılır. Python'da kuyruğu aşağıdaki şekillerde oluşturabiliriz:
- Liste
- sıra.sıra
- koleksiyonlar.deque
Bu makale Python Sırasını Örnek ile ayrıntılı olarak açıklamaktadır.
Ortak Kuyruk İşlemleri:
Kuyrukla ilgili birçok işlem var. Ancak bunlar 4 yaygın kuyruk işlemidir:
- Sıraya almak
- kuyruktan arındırma
- Ön
- Arka
Kuyruğa alma işlemi, kuyruğa bir öğe eklemek için gerçekleştirilir, kuyruğa alma işlemi, öğeleri eklendikleri sırayla kuyruktan kaldırır. Ek olarak, ön işlem ilkini döndürür ve arka işlem kuyruğun son öğesini döndürür.
Listeyi kullanarak kuyruk uygulaması
Liste, öğeleri sırayla düzenleyen, yaygın olarak kullanılan bir Python yerleşik veri yapısıdır. Liste ile, sıraya öğeleri eklemek ve kuyruktan çıkarmak için kullanılan append() ve pop() işlevlerini kullanabiliriz. append() işlevi, öğeyi listenin sonuna ekler. Pop işlevi, dizini argüman olarak alır ve öğeyi listeden kaldırır. Listede her türden öğeyi saklayabiliriz. Python listesi kullanarak bir sıra uygulayalım.
#listeyi kullanarak sıra oluşturma#liste tanımlama
my_queue =[]
#öğeleri kuyruğa ekleme
benim_kuyruğum.ekle(1)
benim_kuyruğum.ekle(2)
benim_kuyruğum.ekle(3)
benim_kuyruğum.ekle(4)
benim_kuyruğum.ekle(5)
print("Sıradaki öğeler:")
yazdır(benim_kuyruğum)
#sıradan öğeler kaldırılıyor
print(my_queue.pop(0))
print(my_queue.pop(0))
print(my_queue.pop(0))
print(my_queue.pop(0))
#öğeleri çıkardıktan sonra kuyruğu yazdırma
print("Sıradaki öğeler:")
yazdır(benim_kuyruğum)
Yukarıda verilen örnekte, ilk eklenen öğeyi kaldırmamız gerektiğinden pop() işlevine 0 indeksini ilettik.
Çıktı
Daha önce tartışıldığı gibi, listede her tür öğeyi saklayabiliriz, bu nedenle heterojen türdeki öğeleri içeren bir liste kullanarak bir sıra oluşturalım.
#listeyi kullanarak sıra oluşturma#liste tanımlama
my_queue =[]
#öğeleri kuyruğa ekleme
benim_kuyruğum.ekle(1)
benim_kuyruğum.ekle ("a")
benim_kuyruğum.ekle(2)
benim_kuyruğum.ekle ("b")
benim_kuyruğum.ekle(3)
print("Sıradaki öğeler:")
yazdır(benim_kuyruğum)
#sıradan öğeler kaldırılıyor
print(my_queue.pop(0))
print(my_queue.pop(0)
print(my_queue.pop(0)
print(my_queue.pop(0))
#öğeleri çıkardıktan sonra kuyruğu yazdırma
print("Kuyruktaki öğeler:")
yazdır(benim_kuyruğum)
Çıktı
Kuyruk kullanarak kuyruk uygulaması.sıra
Kuyruk, kuyrukları oluşturmak ve uygulamak için kullanılan yerleşik bir Python modülüdür. max size niteliği, kuyruğun boyutunu başlatır. Kuyruk modülünde birçok fonksiyon mevcuttur. Örneğin, put() işlevi öğeyi kuyruğa ekler, get() işlevi öğeyi kuyruktan kaldırır ve qsize() işlevi sıra boyutunu döndürür. Sıra modülünü kullanarak bir sıra uygulayalım.
#sıra modülünü içe aktarmaiçe aktarma kuyruğu
#5 boyutunda bir kuyruk oluşturma
my_queue = sıra.Kuyruk(maksimum=5)
#öğeleri kuyruğa ekleme
benim_kuyruğum.koymak(1)
benim_kuyruğum.koymak(2)
benim_kuyruğum.koymak(3)
benim_kuyruğum.koymak(4)
benim_kuyruğum.koymak(5)
print("Kuyruğun boyutu:",my_queue.qboyut())
#sıradan öğeler kaldırılıyor
print(my_queue.almak())
print(my_queue.almak())
print(my_queue.almak())
print(my_queue.almak())
print("Kuyruğun boyutu:",my_queue.qboyut())
Çıktı
deque kullanarak kuyruk uygulaması
deque, bir koleksiyon modülü sınıfıdır. Listeye kıyasla, deque, kuyruğa alma ve kuyruğa alma işlemlerini daha hızlı gerçekleştirir. append() ve popleft() işlevleri, sırasıyla öğeleri kuyruğa ekler ve kuyruğa kaldırır. deque kullanarak bir sıra uygulayalım.
#koleksiyon modülünü içe aktarmakoleksiyonları içe aktar
#sıra oluşturma
my_queue = koleksiyonlar.deque()
#öğeleri kuyruğa ekleme
benim_kuyruğum.ekle(1)
benim_kuyruğum.ekle(2)
benim_kuyruğum.ekle(3)
benim_kuyruğum.ekle(4)
benim_kuyruğum.ekle(5)
print("Kuyruktaki öğeler şunlardır:")
yazdır(benim_kuyruğum)
#sıradan öğeler kaldırılıyor
print(my_queue.popleft())
print(my_queue.popleft())
print(my_queue.popleft())
print(my_queue.popleft())
print("Kuyruktaki öğeler şunlardır:")
yazdır(benim_kuyruğum)
Çıktı
Sonuç
Verileri depolamak ve yönetmek için bir kuyruk kullanılır. Verileri FIFO sırasına göre saklar. Python'daki kuyruk, bu makalede örneklerle açıklanan üç şekilde uygulanabilir.