-- java

Kuyruk Veri Yapısı – [Java]

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

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.