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.

Bu yazıyı beğendiyseniz, başkalarının da ilgisini çekebilirsiniz:


448 views

Leave a Reply


* iki = 18

Benzer Yazılar:

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ş, toplam448 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.


Category: Bilgisayar Kavramları, veri yapıları