Class Link
/*
* Linked List Berbasis Queue.
*
* @author : Fauzan Azhmi Siregar
* @id : G1A011022
* @class : A
*/
class item
{
public char data;
public item next;
public item prev;
public item(char id)
{
data = id;
}
public void displayLink()
{
System.out.print("[" + data + "] ");
}
}
class QueueLink
{
private item front;
private item rear;
public QueueLink()
{
front = rear = null;
}
public boolean isEmpty()
{
return (front==null);
}
public void enqueue(char id)
{
item newitem = new item(id);
if (front == null)
{
front = rear = newitem;
}
else
{
rear.next = newitem;
newitem.prev = rear;
rear = newitem;
newitem.next = null;
}
}
public item dequeue()
{ item temp = null;
if (front == null)
System.out.print("Empty!");
else if (front == rear)
{
temp = front;
front = rear = null;
}
else
{
temp = front;
front = front.next;
front.prev = null;
}
return temp;
}
public void display()
{
item current = front;
if (current == null)
System.out.print("[ ]");
else
while(current != null)
{
current.displayLink();
current = current.next;
}
System.out.print("");
}
}
Class Main
import java.util.*;
/*
* Linked List Berbasis Queue.
*
* @author : Fauzan Azhmi Siregar
* @id : G1A011022
* @class : A
*/
class Queue_FIFO
{
public static void main(String[] args)
{
System.out.println("\t_Queue_First_In_First_Out_\n");
char p;
Scanner in =new Scanner(System.in);
QueueLink theQueue = new QueueLink();
do
{
System.out.print("Input Data : ");
char Masuk = in.nextLine().charAt(0);
theQueue.enqueue(Masuk);
System.out.print("Continue to Input Data (y/n) : ");
p = in.nextLine().charAt(0);
}
while (p=='y' );
System.out.print("\nData Queue : ");
theQueue.display();
System.out.println("");
System.out.println("\n\n\t_Data First In First Out (FIFO)_\n");
System.out.print("Data In\t: ");
theQueue.display();
System.out.print(" ==> ");
while( !theQueue.isEmpty() )
{
item aLink = theQueue.dequeue();
aLink.displayLink();
System.out.println("Out.\n");
System.out.print("Last Data\t: ");
theQueue.display();
System.out.print(" ==> ");
}
System.out.println(" Empty! ");
}
}
Tidak ada komentar:
Posting Komentar