Kuyruktan Eleman Silme İşlemi - (Dequeue İşlemi)

Bir önceki yazımızda Kuyruğa eleman ekleme işlemi nasıl yapılır konusunu anlatmıştık. Bu yazımızda Kuyruktan Eleman Silme işlemi nasıl yapılır onu anlatacağız.

dequeue işlemi
Beatles Kuyruğu :)

Kuyruktan Eleman Silme Algoritması

1- Kuyruk boş mu kontrol et
2- Kuyruk boş değilse Front elemanını 1 artır
3- Eğer çıkartılan eleman son elemansa Front ve Rear değişkenlerini -1 olarak güncelle.

Kuyruktan Eleman Silme C Kodu


if(front == rear)
    printf("kuyruk bos");
else 
{
     front = front +1;
     if(front == rear)
      {
          front = -1;
          rear  = -1;
       }     
}

kodumuzu anlatmak gerekirse, rear == front demek kuyruk boş demektir. Yani kuyruk boşsa eleman silme işlemi yapmıyoruz. Eğer kuyruk boş değilse, front değerini 1 artırıyoruz. Bu işlem otomatikman dizimizin en önündeki sayıyı değiştiriyor. Eğer tam anlamadıysanız şöyle anlatayım.


indisler:    0 1 2 3 4
değerler:   5 7 8 1 3

Bakın yukarıdaki kuyruk yapımızda front değerimiz 0 olsun. Buna göre kuyruğun en önündeki eleman(5) ilk olarak çıkacaktır. (bkz: FiFo) Ben front değerini 1 artırırsam front = 1 olur. Böylece kuyruğun en önündeki değer artık 7 olur. Böylece kuyruktan eleman çıkarmış oluruz.

En son if kontrolü ise, eğer eleman çıkarma sonucu kuyruk boşalmışsa değerleri güncellemek için. Aksi takdirde kuyruk boş olmasına rağmen Eleman silmeye çalışır doğal olarak da başarılı olamaz.


Mutlaka Bakın!

Kuyruk Ekleme Çıkarma İşlemleri Hazır C Kodu!

Etiketler: