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:
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | 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