亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    java中如何實(shí)現(xiàn)隊(duì)列的入隊(duì)與出隊(duì)

    java中如何實(shí)現(xiàn)隊(duì)列的入隊(duì)與出隊(duì)

    首先要定義幾個變量與數(shù)組:

    a:表示隊(duì)列的數(shù)組

    rear:表示隊(duì)列尾,這里初始化為0

    (入隊(duì)一個元素下標(biāo)就往后移動一位)

    front:表示隊(duì)列頭,同樣初始化為0

    (出隊(duì)一個元素下標(biāo)就往后移動一位)

    maxsize:最大下標(biāo),這里初始化為4,但是隊(duì)列只能存放3個。(隊(duì)列的長度加一)

    這里數(shù)組預(yù)留出的一個位置用來判斷隊(duì)列的空或滿。

    java相關(guān)視頻推薦:java視頻教程

    參考下面的圖方便理解:

    java中如何實(shí)現(xiàn)隊(duì)列的入隊(duì)與出隊(duì)

    此時元素個數(shù)為3已經(jīng)是滿了的,因?yàn)閿?shù)組個數(shù)是有效的元素個數(shù)加一。

    注:元素下標(biāo)只能為0——3

    實(shí)例代碼如下:

    //數(shù)據(jù)結(jié)構(gòu)——隊(duì)列 import java.util.Scanner; public class Queue { 	int[] a ; 	int rear; 	int front; 	int maxsize; 	 	public static void main(String[] args) { 		Queue queue = new Queue(); 		Scanner scan = new Scanner(System.in); 		int i; 		do { 			System.out.println("請輸入:1入隊(duì)   2出隊(duì)   3查看   0退出"); 			i = scan.nextInt(); 			switch(i) { 				case 1: 					System.out.println("請輸入要入隊(duì)的元素:"); 					queue.addQueue(scan.nextInt()); 					break; 				case 2: 					queue.exitQueue(); 					break; 				case 3: 					queue.showqueue(); 					break; 			} 		}while(i!=0); 		System.out.println("退出成功"); 	} 	 	//構(gòu)造函數(shù) 	public Queue(){ 		a = new int[4]; 		rear = 0; 		front = 0; 		maxsize = 4; 	} 	 	//判斷隊(duì)列是否為空 	public boolean judgeNull() { 		return rear == front; 	} 	 	//判斷隊(duì)列是否已滿 	public boolean judgeFull() { 		return (rear+1) % maxsize == front; 	} 	 	//入隊(duì) 	public void addQueue(int num) { 		//判斷,若隊(duì)列已滿則結(jié)束,不滿則將其添加 		if(judgeFull()) { 			System.out.println("隊(duì)列已滿"); 			return ; 		} 		a[rear] = num; 		rear = (rear+1) % maxsize; 	} 	  	//出隊(duì) 	public void exitQueue() { 		//判斷,若隊(duì)列為空則結(jié)束,非空則將其最前的元素取出 		if(judgeNull()) { 			System.out.println("隊(duì)列為空"); 			return ; 		} 		front = (front+1) % maxsize; 	} 	 	//顯示隊(duì)列的元素 	public void showqueue() { 		if(judgeNull()) { 			System.out.println("隊(duì)列為空"); 			return ; 		} 		for (int i = front; i < front+count(); i++) { 			System.out.printf("a[%d] = %dn",i%maxsize,a[i%maxsize]); 		} 	} 	 	//求出隊(duì)列的有效個數(shù) 	public int count() { 		return (rear+maxsize-front)%maxsize; 	} }

    想學(xué)習(xí)

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號