Python - Sıra
Bir servisi beklerken günlük hayatımızda sıraya aşinayız. Kuyruk veri yapısı, veri öğelerinin bir kuyrukta düzenlendiği yerde de aynı anlama gelir. Sıranın benzersizliği, öğelerin eklenme ve kaldırılma biçiminde yatmaktadır. Öğelere uçta izin verilir, ancak diğer uçtan kaldırılır. Dolayısıyla, İlk Giren İlk Çıkar yöntemidir. Bir kuyruk, öğeleri eklemek ve kaldırmak için insert () ve pop () yöntemlerini kullanabileceğimiz python listesi kullanılarak uygulanabilir. Veri öğeleri her zaman kuyruğun sonuna eklendiğinden, bunların eklenmesine gerek yoktur.
Bir Kuyruğa Eleman Ekleme
Aşağıdaki örnekte First-in-First-Out yöntemini uyguladığımız bir queue sınıfı oluşturuyoruz. Veri öğeleri eklemek için yerleşik ekleme yöntemini kullanıyoruz.
class Queue:
def __init__(self):
self.queue = list()
def addtoq(self,dataval):
# Insert method to add element
if dataval not in self.queue:
self.queue.insert(0,dataval)
return True
return False
def size(self):
return len(self.queue)
TheQueue = Queue()
TheQueue.addtoq("Mon")
TheQueue.addtoq("Tue")
TheQueue.addtoq("Wed")
print(TheQueue.size())
Yukarıdaki kod çalıştırıldığında, aşağıdaki sonucu verir -
3
Bir Sıradan Eleman Çıkarma
Aşağıdaki örnekte, verileri eklediğimiz ve ardından dahili pop yöntemini kullanarak verileri kaldırdığımız bir kuyruk sınıfı oluşturuyoruz.
.class Queue:
def __init__(self):
self.queue = list()
def addtoq(self,dataval):
# Insert method to add element
if dataval not in self.queue:
self.queue.insert(0,dataval)
return True
return False
# Pop method to remove element
def removefromq(self):
if len(self.queue)>0:
return self.queue.pop()
return ("No elements in Queue!")
TheQueue = Queue()
TheQueue.addtoq("Mon")
TheQueue.addtoq("Tue")
TheQueue.addtoq("Wed")
print(TheQueue.removefromq())
print(TheQueue.removefromq())
Yukarıdaki kod çalıştırıldığında, aşağıdaki sonucu verir -
Mon
Tue