RSS Feed
Eki 31

Kuyruk Veri Yapısı – [Java]

Cumartesi, Ekim 31, 2009 tarihinde yazıldı. Kategoriler : 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:

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.

Ağu 23

Stack Veri Yapısı – [Java]

Pazar, Ağustos 23, 2009 tarihinde yazıldı. Kategoriler : Algoritmalar, Java

Uzun zamandır bloğuma bir şey yazmıyordum, hazır Java çalışmaya başlamışken öğrendiklerimi ufak ufak buraya ekleyeyim, bilen için çok basit şeyler olsalar da eminim bilmeyen, google’dan buraya gelip bir şeyler öğrenen insanlar da olacaktır. Lafı fazla uzatmaya gerek yok, İlk Giren Son Çıkar (First In Last Out – FILO) mantığı ile çalışan stack (yığın) veri yapısının java kodunu en basit şekilde yazmaya çalıştım. Daha tam öğrenmediğim için erişim belirteçlerini kullanmadım, default değerler neyse öyle işleyecek artık :)

Stack veri yapısı hakkında bilgi almak için Wiki‘yi ziyaret edebilirsiniz.

Gelelim kodumuza :

class Stack
{
    int stck[] = new int[20];
    int p;

    public Stack()
    {
        p= -1;
    }

    void push (int item)
    {
        if (p==9)
            System.out.println("Stack dolu.");
        else
            stck[++p] = item;
    }

    int pop()
    {
        if(p < 0)
        {
            System.out.println("Stack boş");
            return 0;
        }
        else return stck[p--];
    }
}