• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

Java模拟队列的出队和进队

JAVA相关 水墨上仙 1372次浏览

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);
	}
	
}


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明Java模拟队列的出队和进队
喜欢 (0)
加载中……