Kuyruklar genellikle gerçek hayatta sinir bozucudur, ancak bir bilgisayar programında birçok sorunu çözebilirler. Bir kuyrukla neler yapabileceğinizi ve nasıl yapabileceğinizi öğrenin.
Sıra, çeşitli ayarlarda kullanabileceğiniz çok yönlü bir veri yapısıdır. CPU programlama algoritmalarından web uygulamalarına kadar her yerde bulunur.
Bir Python geliştiricisi olmaya çalışıyorsanız, bu basit ama her yerde mevcut olan veri yapısına ayak uydurmanız çok önemlidir. Kuyruk veri yapısının ne olduğunu ve Python'da nasıl uygulanacağını öğrenelim.
Kuyruk Veri Yapısı Nedir?
Sıra, İlk Giren İlk Çıkar (FIFO) ilkesini izleyen doğrusal bir veri yapısıdır. Bu, bir sıradan bir öğe getirdiğinizde, diğerlerinden önce hangisini eklediyseniz onu alacağınız anlamına gelir.
Kuyrukta gerçekleştirebileceğiniz temel işlemler şunlardır:
- Kuyruğa Al: Kuyruğa öğeler ekleyin.
- Sıradan Çıkarma: Sıradaki öğeleri kaldırın.
- Yazdır: Sıradaki öğeleri yazdırın.
- Ön: Öğeyi sıranın önüne getirin.
- Arka: Sıranın arkasındaki öğeyi alın.
Kuyruk veri yapısını Python'da iki şekilde uygulayabilirsiniz: bir liste kapsayıcısı veya koleksiyonlar modülünden çift uçlu bir kuyruk kullanarak. Bu program için bir liste kullanacaksınız.
Python'da Kuyruk Veri Yapısı Nasıl Uygulanır?
Python'da liste kapsayıcısını kullanarak bir kuyruk uygulayacaksınız. Adıyla boş bir liste bildirerek başlayın sıra.
sıra = []
Şimdi kullanıcı girişini kabul etmeniz ve kullanıcı tarafından girilen işlemi gerçekleştirmeniz gerekiyor. İlk olarak, kullanıcıdan bir komut girmesini isteyen bir satır yazdırın. Ardından, kullanıcı girişi için bekleyin ve bunu emretmek değişken.
kullanma Python if ifadeleri, kullanıcının girdiği komuta karşılık gelen işlemi gerçekleştirin. Tanınmayan bir komut girerlerse programdan çıkın. Bu işlemleri sonsuz bir döngü sırasında onlar çıkmadıkça programın çalışmaya devam etmesini sağlamak için.
sırasındaDoğru:
komut = giriş("Ne yapmak istiyorsun? ")eğer komut == "sıraya almak":
# kod
elif komut == "sıradan çıkarma":
# kod
başka:
kırmak
yazdırma kuyruğu)
Sıraya almak
Artık programın ana kontrol akışını hallettiniz, her işlem için kod bloğunu tanımlayabilirsiniz. İlk olarak, enqueue için kodu yazın. Kuyruğa alma, kuyruğun sonuna bir öğe eklemek anlamına gelir. Bunu kullanarak yapabilirsiniz ekle() yöntem:
eğeremretmek == "sıraya almak":
kuyruğa almak = int(giriş("Kuyruğa alınacak öğeyi girin: "))
kuyruktan çıkarma
Şimdi, bir öğeyi sıradan çıkarmak için kodu yazın. Bunu, dizin olarak 0 olan pop yöntemini kullanarak yapabilirsiniz. Neden? Daha önce öğrendiğiniz gibi, bir kuyruk FIFO sırasını takip eder, bu nedenle kuyruğa aldığınız ilk öğe, kuyruktan çıkardığınız ilk öğe olmalıdır.
eğer komut == "sıradan çıkarma":
kuyruk.pop(0)
Ön
Sıranın önündeki öğeyi yazdırmak için kodu yazın. Sadece kuyruğun 0. indeksini yazdırın.
eğer komut == "ön":
yazdırma kuyruğu[0])
Arka
Ön işlemin kodu gibi, arka işlemi gerçekleştirmek için son dizindeki öğeyi yazdırın. Bunu yapmak için önce sıradaki len() işlevini kullanın ve ardından son dizini bulmak için ondan 1 çıkarın.
eğer komut == "arka":
yazdır (kuyruk[len (kuyruk) - 1])
Yazdır
Son olarak print komutunun kodunu yazın. Python standardını kullanarak listeyi yazdırmanız yeterlidir Yazdır() işlev.
eğer komut == "Yazdır":
yazdırma kuyruğu)
Kullanıcının girdiği metin desteklenen bir komutla eşleşmiyorsa, bir break ifadesi kullanarak while döngüsünden çıkın. Son kod şöyle görünmelidir:
sıra = []
sırasındaDoğru:
komut = giriş("Ne yapmak istiyorsun?\n")eğer komut == "sıraya almak":
kuyruğa almak = int (giriş("Kuyruğa alınacak öğeyi girin: "))
kuyruk.append (kuyruk)
elif komut == "sıradan çıkarma":
kuyruk.pop(0)
elif komut == "Yazdır":
yazdırma kuyruğu)
elif komut == "ön":
yazdırma kuyruğu[0])
elif komut == "arka":
yazdır (kuyruk[len (kuyruk)-1])
başka:
kırmak
yazdırma kuyruğu)
Çeşitli kuyruk işlemlerini denemek için programı çalıştırın. Sıranızı nasıl etkilediklerini görmek için yazdır komutunu kullanın. Artık Python'da kendi basit kuyruk uygulamanızı oluşturdunuz.
Kuyruk, Birçok Yararlı Veri Yapısından Sadece Biridir
Veri yapısı kavramı, her bilgisayar bilimi öğrencisinin ustalaşması gereken hayati bir kavramdır. Muhtemelen diziler veya listeler gibi bazı temel veri yapılarını öğrenmiş veya bunlarla çalışmış olabilirsiniz.
Görüşmeciler ayrıca veri yapılarıyla ilgili sorular sorma eğilimindedir, bu nedenle yüksek maaşlı bir programlama işi arıyorsanız, veri yapıları bilginizi tazelemeniz gerekecek.