package com.stackANDqueue;
import java.io.DataInputStream;
import java.io.IOException;
/*
* 循环队列的入队和出队
*/
public class Queue {
static int MAX = 20;
static int front, rear;
public Queue() {
// TODO Auto-generated constructor stub
front = 0;
rear = -1;
}
/**
* 按任何一键立刻执行Fuction
*/
public static void anyKey_f(){
char tChar;
System.
out.
println(" Press any key to contunue...");
try {
tChar
= (char) System.
in.
read();
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void enqueue_f(){//入队函数
if(rear
>= MAX
-1) System.
out.
println("\n Queue is full ! \n");
else{
rear ++;
System.
out.
println(" \n Please enter item to insert ! \n");
try {
item[rear] = in.readLine();
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void dequeue_f(){//出队函数
if(front
> rear
) System.
out.
println("\n No item ,Queue is empty ! \n");
else{
System.
out.
print("\n Item " + item
[front
] + " is deleted ! \n");
front ++;
}
}
public static void list_f(){
int count=0, i=0;
if(front
> rear
) System.
out.
print("\n No item , Queue is empty ! \n\n");
else{
System.
out.
print("\n ITEM \n");
for(i = front; i<= rear; i++){
System.
out.
print(item
[i
] + "\n");
count ++;
if(count % 20 ==0) anyKey_f();
}
System.
out.
print(" --------------------\n");
System.
out.
print(" Total item : "+count
+ "\n\n");
anyKey_f();
}
}
@SuppressWarnings("deprecation")
public static void main
(String args
[]){
int option = 0;
Queue obj = new Queue();
do{
System.
out.
println("****************** Stack Program *******************");
System.
out.
println(" <1> Insert Node ");
System.
out.
println(" <2> Delete Node ");
System.
out.
println(" <3> List Node ");
System.
out.
println(" <4> Exit ! ");
System.
out.
println("****************************************************");
System.
out.
print("\n Choice : ");
op = "";
try {
op = in.readLine();
// TODO Auto-generated catch block
e.printStackTrace();
}
option = 0;
try{
option
= Integer.
valueOf(op
).
intValue();
System.
out.
println("\n Please input (1,2,3,4).....");
}
switch(option){
case 1:
enqueue_f();
break;
case 2:
dequeue_f();
break;
case 3:
list_f();
break;
case 4:
}
}while(true);
}
}
//java/1342