欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

04-隊(duì)列實(shí)現(xiàn)思路

隊(duì)列特點(diǎn):先進(jìn)先出

創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站制作、網(wǎng)站建設(shè)與策劃設(shè)計(jì),峨邊彝族網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:峨邊彝族等地區(qū)。峨邊彝族做網(wǎng)站價(jià)格咨詢:13518219792

隊(duì)列可以使用數(shù)組或鏈表來實(shí)現(xiàn)

數(shù)組模擬隊(duì)列

隊(duì)列本身是有序列表,若使用數(shù)組的結(jié)構(gòu)來存儲(chǔ)隊(duì)列的數(shù)據(jù),則隊(duì)列數(shù)組的聲明如下,其中maxSize是該隊(duì)列的最大容量。

因?yàn)殛?duì)列的輸出、輸入是分別從前后端來處理,因此需要兩個(gè)變量front及rear分別記錄隊(duì)列前后端的下標(biāo),front會(huì)隨著數(shù)據(jù)輸出而改變,rear會(huì)隨著數(shù)據(jù)的輸入而改變。

使用數(shù)組實(shí)現(xiàn)隊(duì)列

front ?默認(rèn)-1,隊(duì)首

rear 默認(rèn)-1,隊(duì)尾

maxSize 隊(duì)列的最大容量

加數(shù)據(jù),在隊(duì)尾加,rear+1

取數(shù)據(jù),在隊(duì)首取,front+1

添加到隊(duì)列,分析

1,將rear+1,尾指針后移(當(dāng)rear==front時(shí),隊(duì)列為空,可存入;非空時(shí),當(dāng)rear=maxSize-1時(shí),隊(duì)列已滿,無法存入)

代碼實(shí)現(xiàn):

package?com.datastack.datastack.queue;

import?java.util.Scanner;

/*
?*?隊(duì)列(數(shù)組實(shí)現(xiàn))
?*/
public?class?ArrQueue?{
	private?int?maxSize;//隊(duì)列最大值
	private?int?front;//隊(duì)首,指向隊(duì)列首的前一個(gè)位置
	private?int?rear;//隊(duì)尾,指向隊(duì)列尾的序號(hào)
	private?int[]?arr;//存放隊(duì)列數(shù)據(jù)的數(shù)組
	
	/**
	?*?創(chuàng)建隊(duì)列
	?*?@param?maxSize
	?*/
	public?ArrQueue(int?maxSize){
		this.maxSize?=?maxSize;
		this.arr?=?new?int[maxSize];
		this.front?=?-1;
		this.rear?=?-1;
	}
	
	/**
	?*?判斷隊(duì)列是否已滿
	?*?@return
	?*/
	public?boolean?isFull(){
		return?rear?==?maxSize?-?1;
	}
	
	/**
	?*?判斷隊(duì)列是否為空
	?*?@param?args
	?*/
	public?boolean?isEmpty(){
		return?rear?==?front;
	}
	
	/**
	?*?添加數(shù)據(jù)到隊(duì)列
	?*?@param?args
	?*/
	public?void?addQueue(int?n){
		//判斷隊(duì)列是否滿
		if(isFull()){
			System.out.println("隊(duì)列已滿,不能加入數(shù)據(jù)。");
			return;
		}
		rear++;
		arr[rear]?=?n;
	}
	
	/**
	?*?出隊(duì)列
	?*?@param?args
	?*/
	public?int?getQueue(){
		//判斷隊(duì)列是否為空
		if(isEmpty()){
			//通過拋出異常
			throw?new?RuntimeException("隊(duì)列空,不能取數(shù)據(jù)");
		}
		front++;
		return?arr[front];
	}
	
	/**
	?*?顯示隊(duì)列數(shù)據(jù)
	?*?@param?args
	?*/
	public?void?showQueque(){
		if(isEmpty()){
			System.out.println("隊(duì)列為空。");
			return;
		}
		for(int?i=0;i<arr.length;i++){
			System.out.printf("arr[%d]=%d\t",i,arr[i]);
		}
	}
	
	/**
	?*?顯示隊(duì)頭
	?*?@param?args
	?*/
	public?int?headQueue(){
		if(isEmpty()){
			throw?new?RuntimeException("隊(duì)列為空。");
		}
		return?this.arr[front+1];
	}
	
	public?static?void?main(String[]?args)?{
		//創(chuàng)建一個(gè)隊(duì)列
		ArrQueue?arrQueue?=?new?ArrQueue(3);
		char?key?=?'?';//接收用戶輸入
		Scanner?scanner?=?new?Scanner(System.in);
		boolean?loop?=?true;
		while(loop){
			System.out.println("s(show):顯示隊(duì)列");
			System.out.println("e(exit):退出程序");
			System.out.println("a(add):添加數(shù)據(jù)到隊(duì)列");
			System.out.println("g(get):從隊(duì)列取出數(shù)據(jù)");
			System.out.println("h(head):查看隊(duì)列頭的數(shù)據(jù)");
			key?=?scanner.next().charAt(0);
			switch?(key)?{
			case?'s'://顯示隊(duì)列值
				arrQueue.showQueque();
				break;
			case?'a'://入隊(duì)
				System.out.println("請輸入一個(gè)數(shù)");
				int?value?=?scanner.nextInt();
				arrQueue.addQueue(value);
				break;
			case?'g'://出隊(duì)
				try?{
					int?res?=?arrQueue.getQueue();
					System.out.println(res);
				}?catch?(Exception?e)?{
					System.out.println(e.getMessage());
				}
				break;
			case?'h'://打印對首
				try?{
					int?res?=?arrQueue.headQueue();
					System.out.println(res);
				}?catch?(Exception?e)?{
					System.out.println(e.getMessage());
				}
				break;
			case?'e'://退出程序
				scanner.close();
				loop?=?false;
				break;

			default:
				break;
			}
		}
		System.out.println("程序退出");
		
	}
}

本文名稱:04-隊(duì)列實(shí)現(xiàn)思路
網(wǎng)頁路徑:http://www.chinadenli.net/article22/isjejc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT域名注冊網(wǎng)站改版搜索引擎優(yōu)化網(wǎng)站收錄網(wǎng)頁設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站