Veri yapıları dersinin önemli elemanlarından biri olan kuyruk (queue) yapısını Java ile oluşturmaya çalıştım. Kodlar biraz amatörce oldu ama çalışıyor :)
Peki nedir bu kuyruk? Wiki şöyle diyor
FIFO (First In Fist Out – İlk Giren İlk Çıkar) mantığına dayalı kuyruk yapısı ile ilgili yazdığım class:
public class kuyruk { // private değişkenler private int maxBoyut; private long[] kuyrukDizi; private int front; private int rear; private int elemanSayisi; // constructor // kuyruk degisken_ismi = new kuyruk (eleman_sayisi); public kuyruk (int boyut){ maxBoyut = boyut; kuyrukDizi = new long [maxBoyut]; front = 0; rear = -1; elemanSayisi = 0; } // metodlar // kuyruk boş mu? public boolean bosMu() { if (elemanSayisi == 0) return true; else return false; } // kuyruk dolu mu? public boolean doluMu() { if (elemanSayisi == maxBoyut) return true; else return false; } // kuyruğa eleman ekleme public void insert (long eklenecekEleman){ if (rear == maxBoyut -1) rear = -1; rear++; kuyrukDizi [rear] = eklenecekEleman; elemanSayisi++; } // kuyruktan eleman çekme public long remove(){ long cikarilacak = kuyrukDizi [front++]; if (front == maxBoyut) front = 0; elemanSayisi--; return cikarilacak; } // kuyruğun sonundaki eleman public long kuyrukNerde() { return kuyrukDizi[front]; } // kuyruğun boyutu public int kuyrukBoyutu() { return elemanSayisi; } }
yukarıdaki gibidir.
Yorum yazın