Arkadaşlar merhaba belki bir çok öğrenciye bela olan veri yapılarından
kuyruk tasarımı(Queue) gerçekten zor bir ödevdir.Bilgisayar Müh. 1. ve 2. sınıfta
bu veri yapısının C ve Java da kodu ödev olarak verilir.Ama ben size örnek olması açısından
kuyruk tasarımını bağlı sıralı liste ile yaptım(Linked List).Umarım öğrenci arkadaşlar için yararlı
bir çalışma olur.Hekese kolay gelsin.
Saygılarımla.
Seyhan Uçar
CODE:
/*
* Written: Seyhan Uçar
* www.thecoders.net
* seyhan@thecoders.net
*/
import java.io.*;
//=======================================================
class Link
{
public double data;
public Link next;
//==================================================
public Link(double d)
{
data = d;
next = null;
}
//================================================
public void display()
{
System.out.print(data+"--");
}
//=================================================
}
//***********************************************************************
class FirstLastList
{
private Link first;
private Link last;
//===================================================
public FirstLastList()
{
first = null;
last = null;
}
//===================================================
public boolean isEmpty()
{
if(first == null)
return true;
else
return false;
}
//=====================================================
public void insertLast(double item)
{
Link newlink = new Link(item);
if(isEmpty())
first = newlink;
else
last.next = newlink;
last = newlink;
}
//===================================================
public double deleteFirst()
{
double temp = first.data;
if(first.next == null)
last = null;
first = first.next;
return temp;
}
//=================================================
public void displayList()
{
Link current = first;
while(current != null)
{
current.display();
current = current.next;
}
System.out.println("");
}
//===================================================
}
//**********************************************************************
class LinkQueue
{
private FirstLastList theList;
//====================================================
public LinkQueue()
{
theList = new FirstLastList();
}
//================================================
public boolean isEmpty()
{
return theList.isEmpty();
}
//===============================================
public void insert(double j)
{
theList.insertLast(j);
}
//==================================================
public double remove()
{
return theList.deleteFirst();
}
//===================================================
public void displayQueue()
{
System.out.print("Queue ( front-->rear):");
theList.displayList();
}
//===================================================
}
//**************************************************************
class LinkQueueApp
{
public static void main(String[] args) throws IOException
{
LinkQueue theQueue = new LinkQueue();
theQueue.insert(20);
theQueue.insert(40);
theQueue.displayQueue();
theQueue.insert(60);
theQueue.insert(80);
theQueue.displayQueue();
theQueue.remove();
theQueue.remove();
theQueue.displayQueue();
}
}
//******************************************************************
[IMG SRC="http://img225.imageshack.us/img225/2408/seyhanzt2.jpg" ALIGN="oğuz"]seyhan[/IMG]
Teşekkürler paylaşım için. Ben de Veri yapıları ödevi olarak Yazıcı kuyruğu yazmaya çalışıyorum. Node kullanarak, kuyruk ve bağlı liste ile bunu Java'da yazmam gerekiyor. Sizin linkedlist bağlı liste anlamına geliyor değil mi? Peki kuyruk mu?
[IMG SRC="http://img225.imageshack.us/img225/2408/seyhanzt2.jpg" ALIGN="oğuz"]seyhan[/IMG]
Seyhancım örnek kod için teşekkürler önce..Yazını eğitime aldım bilgin olsun..Eğitime yatkın bir kod aynı zamanda soru sorulabilecek bir konu olduğu için forumdakini ellemedim. Kolay gelsin dostum ;)
merhabalar yazınız çok açıklayıcı olmuş... ben bir soru sormak istiyorum ... biz bu linked listeler şeklinde sakladıgımız verilerde kendi içersinde iki farklı veri saklamak istersek mesala öyle listeler olsunki ,her node da ögrenci isim ve sınıflarını saklasın ben bunları bu listeler içinde oluşturabilrmiyim?... teşekkürler... hep örneklerde sadece her linkde sadece tek veri saklanmış şeklinde örnekler var...
Vilasil Merhaba;
Öncelikle ilgine teşekkür ederim.Umarım en iyi şekilde yaralanmıştır sitemizden.Başta sizlerden ve site sahiplerinden özür dilerim .Yeterli zamanım olmadığı için bana ayrılan bölümü güncel tutamadım.Ama umuyorum en yakın zamanda yeni makaleler ve çözüm teknikleri ile geri döneceğim.
Soruna gelirsek eğer söyleyince fark ettim yazmış olduğumuz kodlarda oluşturduğumuz veri yapılarının içinde hep tek data var(double data).Senin de dediğin gibi bu oluşturduğumuz node ların içinde farklı veri tipleri tutabiliriz hatta bu nodeların içinde ayrı link listeler bile tutma şansın var.Yapman gereken Link classı içine saklamak istediğin veri yapısını ya da nesnesini girmen olacak.Umarım sorunu doğru anlamış ve cevaplayabilmişimdir.İlgine tekrar teşekkür eder başarılar dilerim.
Saygılarımla.
[IMG SRC="http://img225.imageshack.us/img225/2408/seyhanzt2.jpg" ALIGN="oğuz"]seyhan[/IMG]
