Kuyruk Ne Demek?
İngilizce: Queue
Yayın: · Son güncelleme:
Kuyruk Ne Demek? Kısaca
Kuyruk (queue), ilk eklenen elemanın ilk çıkarıldığı (FIFO) bir veri yapısıdır. Elemanlar arkadan eklenir, önden alınır; tıpkı bir banka gişesindeki müşteri sırası gibi çalışır.

Kuyruk ne demek?
Kuyruk, programlamada verilerin geliş sırasına göre işlendiği bir veri yapısıdır. İngilizcede queue olarak geçer. Kuralı basittir: ilk giren ilk çıkar. Bu kurala FIFO (First In, First Out) denir.
Nasıl çalışır?
Bir fırının önündeki sırayı düşünün. Yeni gelen müşteri en arkaya geçer, ekmeği ilk alan en öndeki kişidir. Yazılımdaki kuyruk da iki uçlu çalışır. Enqueue işlemi arkaya eleman ekler, dequeue işlemi öndeki elemanı alır.
Varsayımsal bir örnek: Bir yazıcıya sırayla A, B ve C belgeleri gönderilsin. Yazıcı önce A'yı, sonra B'yi, en son C'yi basar. Arada D belgesi gelirse C'nin arkasına eklenir. Bu yapıya yazdırma kuyruğu denir ve tam olarak kuyruk veri yapısıyla yönetilir.
Nerelerde kullanılır?
Kuyruklar, işlerin adil ve sıralı yürütülmesi gereken her yerde karşınıza çıkar. Bir e-ticaret sitesinde sipariş onay e-postaları kuyruğa alınır ve sırayla gönderilir. İşletim sistemi, işlemcide çalışmayı bekleyen görevleri kuyrukta tutar. Klavye girişleri de bir tampon kuyrukta bekler ki hızlı yazdığınızda harfler karışmasın.
Büyük sistemlerde bu fikir mesaj kuyruğu olarak uygulanır. RabbitMQ veya Amazon SQS gibi araçlar, servisler arasında iletilen işleri kalıcı bir kuyrukta tutar.
Türleri
Basit kuyruğun yanında birkaç çeşit daha vardır. Dairesel kuyruk, sabit boyutlu bir alanı başa dönerek tekrar kullanır. Çift uçlu kuyrukta (deque) her iki uçtan ekleme ve çıkarma yapılabilir. Öncelik kuyruğunda ise öndeki eleman, en yüksek önceliği taşıyandır.
Sıkça Sorulan Sorular
Kuyruk veri yapısı nedir, stack ile farkı ne?
Kuyrukta ilk gelen ilk çıkar, stack'te ise son gelen ilk çıkar. Kuyruk sırayı korumak, stack ise en son işi geri almak gibi durumlarda kullanılır.
Öncelik kuyruğu nedir?
Öncelik kuyruğunda elemanlar geliş sırasına göre değil, öncelik değerine göre çıkar. Genellikle heap veri yapısıyla yazılır.