キュー----リンクリスト実装キュー

2361 ワード

/**
 *  
 */
package com.szy.structure.queues;

import java.util.Scanner;

class Node
{
	public int data;
	public Node next;
}
public class LinkedQueue
{
	Node FRONT,REAR;
	
	public LinkedQueue()
	{
		FRONT=null;
		REAR=null;
	}
	/**
	 *  
	 * @param element
	 */
	public void insert(int element)
	{
		Node newNode=new Node();
		newNode.data=element;
		newNode.next=null;
		if (FRONT==null)
		{
			FRONT=newNode;
			REAR=newNode;
		}
		else
		{
			REAR.next=newNode;
			REAR=newNode;
		}
	}
	/**
	 *  
	 */
	public void remove()
	{
		if (FRONT==null)
		{
			System.out.println(" !");
			return;
		}
		FRONT=FRONT.next;
	}
	/**
	 *  
	 */
	public void display()
	{
		if (FRONT==null)
		{
			System.out.println(" !");
			return;
		}
		Node currentNode=FRONT;
		while(currentNode!=null)
		{
			System.out.print(currentNode.data+" ");
			currentNode=currentNode.next;
		}
	}
	
	public static void main(String[] args) throws Exception {
		LinkedQueue queues=new LinkedQueue();
		int choice=0;
		while(true)
		{
			System.out.println("
---MENU---"); System.out.println("1.Insert"); System.out.println("2.Delete"); System.out.println("3.Display"); System.out.println("4.Exit"); System.out.println("----------"); System.out.println(" :"); Scanner scanner=new Scanner(System.in); choice=scanner.nextInt(); switch (choice) { case 1: { System.out.println(" :"); int input=scanner.nextInt(); queues.insert(input); } break; case 2: { queues.remove(); } break; case 3: { queues.display(); } break; case 4: return; default: System.err.println(" !"); break; } } } }