Java模拟队列的出队和进队
package com.stackANDqueue; import java.io.DataInputStream; import java.io.IOException; /* * 循环队列的入队和出队 */ public class Queue { static int MAX = 20; static String[] item = new String[MAX]; 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(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void enqueue_f(){//入队函数 DataInputStream in = new DataInputStream(System.in); if(rear >= MAX-1) System.out.println("\n Queue is full ! \n"); else{ rear ++; System.out.println(" \n Please enter item to insert ! \n"); System.out.flush(); try { item[rear] = in.readLine(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } System.out.println(""); } 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 ++; } System.out.println(""); } public static void list_f(){ DataInputStream in = new DataInputStream(System.in); 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"); System.out.flush(); for(i = front; i<= rear; i++){ System.out.print(""); 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(); System.out.println(""); } } @SuppressWarnings("deprecation") public static void main(String args[]){ DataInputStream in = new DataInputStream(System.in); String op = ""; int option = 0; Queue obj = new Queue(); do{ System.out.println("****************** Stack Program *******************"); System.out.println(" "); 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.println("****************************************************"); System.out.print("\n Choice : "); System.out.flush(); op = ""; try { op = in.readLine(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } option = 0; try{ option = Integer.valueOf(op).intValue(); }catch(NumberFormatException e){ System.out.println("\n Please input (1,2,3,4)....."); System.out.println("\n\n\n"); } switch(option){ case 1: enqueue_f(); break; case 2: dequeue_f(); break; case 3: list_f(); break; case 4: System.exit(0); } }while(true); } }