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