Sıra (Queue)


Yazan : Şadi Evren ŞEKER

Sıra, basit veri yapılarından birisidir. Buna göre bir sıraya ilk giren ilk çıkar (FIFO , first in first out fifo). Bazı kaynaklarda kuyruk kelimesi de kullanılır. Basitçe bir gişe önündeki bilet kuyruğu veya bilet sırası olarak düşünülebilir. Bu yapının olmazsa olmaz iki adet fonksiyonu bulunur:

enque(veri) veya push(veri) -> verilen veriyi sıraya koyar

deque() veya pop() -> sıradan bir veri çıkararak sıranın boyutunu azaltır ve çıkarılan veriyi çağrıldığı yere döndürür.

Komutlar Sıranın durumu
enque(10) 10
enque(20) 10 -> 20
enque(30) 10 -> 20 ->30
deque() 20 -> 30
deque() 30
deque() Boş

Yukarıda bir sıra üzerinde yapılan ekleme ve çıkarma işlemleri gösterilmiştir. Yukarıda sıranın durumu olarak gösterilen yapıda bir bağlı liste üzerinden verilerin nasıl eklenip çıkarıldığı tasvir edilmiştir. Bir sıra için bağlı liste kullanılabileceği gibi dizi (Array) de kullanılabilir. Ayrıca yukarıdaki bağlı listede, listenin sağına eklenerek solundan çıkarma işlemi yapılmıştır. Bu işlemin tam tersi olan soluna yeni verileri ekleyerek sağından çıkarma işlemi de yapılabilir.

Dizi kullanıldığında karşılaşılan problem dizinin boyutunun sınırlı olmasıdır. Bu durumda dizideki verilerin dizi boyutunu aşınca daha büyük başka bir diziye taşınması gerekir. Ayrıca dizinin belirli bir elemenından sayılar dequeue yapılıyorsa dizideki elemanların dequeue yapıldıkça kaydırılması da gerekir.

Aşağıda bağlı liste (linked list) ve dizi (Array) kullanılarak yazılmış iki adet kod örneği verilmiştir:

Sıra (Queue ) içerisine veri ekleme fonksiyonu genel olarak enqueue(sıraya koymak, sıralamak) ve sıradaki bir elemanın sıradan alınmasına ise dequeue (sıradan almak, çıkarmak) ismi verilmektedir.


« Ortak Bölenlerin En Büyüğü (OBEB, GCD, Greatest Common Divisor)   |   Feistel Şifreleme (Feistel Cipher, Fesitel Ağı, Feistel Network) »



Yorumlar

Kullanıcı girişi yaparak ya da zorunlu olan * alanlarını doldurarak yorum yapabilirsiniz.

İsminiz *

Email adresiniz *

Web siteniz

Mesajınızı buraya yazabilirsiniz:

Henüz yorum yapılmamış.

  1. sıra gecikmesi (queueing delay) : bilgisayar.kavramlari.com | 16 Apr 2008, 08:05

    [...] Daha fazla bilgi için : Sıra (Queue)  [...]

  2. Abstract Data Type (ADT - Soyut Veri Tipleri) : bilgisayar.kavramlari.com | 16 Apr 2008, 08:06

    [...] bilgisinin olmasını gerektirmemesidir. Örnek soyut veri tipleri olarak bağlı liste , stack , sıra ( queue) , kompleks sayılar , kümeler [...]

Bu Yazı Hakkında

Bilgisayar Kavramları üzerinde şu anda okumakta olduğunuz 'Sıra (Queue)' isimli yazı 16 Apr 2008 tarihinde, saat: 07:58 'de Şadi Evren ŞEKER tarafından gönderilmiş, toplam 981 defa okunmuştur.

Benzer yazıları Bilgisayar Kavramları, veri yapıları kategorilerinden okuyabilirsiniz. Yazar ile irtibat kurmak için email gönderebilirsiniz. Yazıya yorum yapabilir ya da yapılan yorumları RSS 2.0 ile takibe alabilirsiniz.


Yazarın Kitabı

Bu yazının yazarı Şadi Evren ŞEKER'in son çıkan kitabı "Programlama ve Veri Yapılarına giriş (C, C++ ve JAVA ile)" hakkında bilgi almak için Buraya tıklayabilirsiniz.
Eklenen Son Yazılar
Yapılan Son Yorumlar
Yakın Yazılar
Bağlantılar