/**
* 链接列表实现队列
*/
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("\n---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;
}
}
}
}