Tweet

Ana Sayfa   Forum   Java Teknolojileri
Yeni Başlık Cevap Ekle
white_bullet Java da kuyruk veri yapısı (02/10/2008 04:00)
profil seyhan
 offline OFFLINE
 Junior Coder




Arkadaşlar merhaba sizlerle beraber başladığımız veri yapılarına istedimki
devam edelim ve nette gezerken denk geldiğim bu kuyruk hikayesi çok hoşuma gitti
ve hemen site ile paylaşmaya karar verdim.Bu tür konu anlatımının hafızanızda
daha iyi yer tutacağina inanıyorum.Şimdi veri yapılarından olan kuyruk ile devam edelim.

Yine örneklerle anlatalım. Bir banka sahibi olduğunuzu düşünün.
Sahibi olduğunuz banka büyük bir mali krizin eşiğinde ve müşterilerin paralarını çekmek
için bankanıza doğru yöneldikleri haberini alıyorsunuz. Pencereden dışarıya baktığınızda
müşterilerin teker teker bankanızın önünde kuyruğa girdiklerini görüyorsunuz.
Parasını çeken sıradan çıkıyor ve sıranın en önüne gelen yeni kişi parasını çekmeye hazırlanıyor.
Ve bu arada sıraya yeni gelen kişiler de teker teker sıranın en arkasına dahil olarak sırayı büyütüyor.
Sırada kimse kalmadığında siz de pencereden ayrılıp işinizin başına dönüyorsunuz.

Yukarıda anlattığım kısa hikaye kuyruk hakkında çok önemli bilgiler içeriyor.
Banka sırasına giren her kişi bir objeyi temsil ediyor. Sıraya ilk gelen kişi sıranın en sonundaki
kişinin arkasına geçiyor (enqueue). Sıradan çıkan ilk kişi sıranın en önünde bulunan ve işini bitirmiş
olan kişi oluyor (dequeue). Kuyruk hakkında bilmemiz gereken şey eklediğimiz obje, listemizin
en sonuna eklenir ve istekte bulunduğumuz obje, listenin başından verilir. Ayrıca bu normal
kuyruk yapısı dışında, öncelik kuyruğu (priortiy queue) veya olay kuyruğu (event queue) gibi
diğer kuyruk yapıları da kullanılmaktadır.

Şimdi sizlere yazmış olduğum kuyruk yapısı kodunu vereyim.Kuyruk yapıları genelde
Link List ile yazılır ben de severim çünkü Link List özgürlük demektir benim için
ama ben başlangıç olması açısından sizlere dizi ile olan uygulamasını veriyorum.
Java ile uğraşan arkadaşlar umarım en iyi şekilde yararlanırlar.

Herkse kolay gelsin.
Saygılarımla.
Seyhan Uçar





CODE:

import java.io.*;

//============================================================

class Queue
{
private int maxsize;
private int[] queuearray;
private int front;
private int rear;
private int nitems;

//========================================================

public Queue(int s)
{
maxsize = s;
queuearray = new int[maxsize];
front = 0;
rear = -1;
nitems = 0;
}

//========================================================

public void enqueue(int j)
{
if(rear == maxsize - 1)
rear = -1;
queuearray[++rear] = j;
nitems++;

}

//========================================================

public int dequeue()
{
int temp = queuearray[front++];
if(front == maxsize)
front = 0;
nitems--;
return temp;

}
//========================================================

public int queuefront()
{
return queuearray[front];

}
//========================================================
public boolean isEmpty()
{
if(nitems == 0)
return true;
else
return false;

}
//========================================================
public boolean isFull()
{
if(nitems == maxsize)
return true;
else
return false;

}
//========================================================
}

class QueueApp
{
public static void main(String[] args) throws IOException
{
Queue queue = new Queue(10);

queue.enqueue(10);
queue.enqueue(20);
queue.enqueue(30);
queue.enqueue(40);
queue.enqueue(50);

queue.dequeue();
queue.dequeue();
queue.dequeue();

queue.enqueue(60);
queue.enqueue(70);
queue.enqueue(80);

while(!queue.isEmpty())
{
int n = queue.dequeue();
System.out.print(n);
System.out.print("-->");

}
System.out.println("");

}
}
//============================================================

[IMG SRC="http://img225.imageshack.us/img225/2408/seyhanzt2.jpg" ALIGN="oğuz"]seyhan[/IMG]

Üye Profili

white_bullet Re:Java da kuyruk veri yapısı (13/12/2008 12:04)
profil argm
 offline OFFLINE
 New Coder

tesekurler seyhan arkadasim yararli bir calisma olmus.
saygilar

profil

white_bullet Re:Java da kuyruk veri yapısı (13/12/2008 12:29)
profil seyhan
 offline OFFLINE
 Junior Coder

Alıntı:
tesekurler seyhan arkadasim yararli bir calisma olmus.
saygilar
>>>

Ben size teşekkür ederim. Oğuz arkadaşımın da dediği gibi;
bizlerin sizden istediği bu siteye yazılanlardan en iyi şekilde
yararlanmanız, bunun karşılığında argm arkadaşım gibi
teşekkür etmeniz.Sizin, diğer site üyelerine örnek olmanız dileği ile..
Şu sıralar biraz yoğunum(finaller - sınavlar- kodlar).Zaman bulur bulmaz
Object oriented programming(Nesne yönlimli programlama) detaylarına
ineceğiz.Herkese selamlar.

Saygılarımla.
Seyhan.

[IMG SRC="http://img225.imageshack.us/img225/2408/seyhanzt2.jpg" ALIGN="oğuz"]seyhan[/IMG]

profil

white_bullet Re:Java da kuyruk veri yapısı (14/12/2008 10:47)
profil Oguzz
 offline OFFLINE
 Senior Coder

Katılım olsa bende socket programlama client server konularına girmeyi düşünüyorum.Ancak şu durumda birşey ifade edeceğini zannetmiyorum:)Kolay gelsin kardeşim hepinize..

just code it!

profil

white_bullet Re:Java da kuyruk veri yapısı (05/01/2009 15:49)
profil argm
 offline OFFLINE
 New Coder

Merhabalar, Oguz arkadasim neden bir sey ifade etmesin .
Siz yazin gereken ilgi gosterilir.
Saygilar

profil

white_bullet Re:Java da kuyruk veri yapısı (06/01/2009 01:46)
profil Oguzz
 offline OFFLINE
 Senior Coder

İlgi gösterileceğinden şüphemiz yok:) Zaman bulur bulmaz sıralı konuları eğitime yazarım.

İyi günler.

just code it!

profil

white_bullet Re:Java da kuyruk veri yapısı (06/01/2009 16:32)
profil argm
 offline OFFLINE
 New Coder

ben sahsen bekliyorum olacagim :). kolay gelsin
iyi gunler

profil

white_bullet Re:Java da kuyruk veri yapısı (15/10/2010 20:05)
profil shadow07ysk
 offline OFFLINE
 New Coder

Bişey Sorucam Bu Dolu veya boş olduğunu nitems gibi bi sayaç olmadan nasıl bulabiliriz?

profil

white_bullet Re:Java da kuyruk veri yapısı (29/11/2010 16:08)
profil shadow07ysk
 offline OFFLINE
 New Coder

hoca ödev verdi notumuzu etkilicek lütfen yardım

profil
 
1 /
 
Ana Sayfa   Forum   Java Teknolojileri
Yeni Başlık Cevap Ekle
 

MENÜ » FORUM
Menü » Takip et
RSS Facebook Twitter Friendfeed
Sık Kullanılanlar Google Yahoo Live
Menü » Paylaş
E-Posta ile gönder Twitter Facebook Friendfeed
Buzz Stumbleupon Delicious Digg