![java中如何通過數(shù)組實(shí)現(xiàn)隊(duì)列_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/1/4b181bb9-f9b9-46f7-b41c-cb3b4539d967/4b181bb9-f9b9-46f7-b41c-cb3b4539d9671.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、java中如何通過數(shù)組實(shí)現(xiàn)隊(duì)列1、隊(duì)列本身是有序列表,若用法數(shù)組的結(jié)構(gòu)來存儲(chǔ)隊(duì)列的數(shù)據(jù),則隊(duì)列數(shù)組的聲明如上圖,其中maxsize是隊(duì)列的最大容量;2、隊(duì)列的輸入、輸出分離先前后端處理,因此需要front和rear兩個(gè)變量分離記錄隊(duì)列前后端的下標(biāo),其會(huì)隨著數(shù)據(jù)輸入而轉(zhuǎn)變;3、將數(shù)據(jù)存入的隊(duì)列為queue":、對(duì)空:rear=front;、隊(duì)滿:rear=maxsize-1;、當(dāng)尾指針rear<maxsize-1時(shí),則將數(shù)據(jù)存入rear所指的數(shù)組中。視頻教程共享:java視頻教程詳細(xì)實(shí)現(xiàn)代碼如下:(1)、推斷隊(duì)列是否滿(2)、推斷隊(duì)列是否為空(3)、添加數(shù)據(jù)到隊(duì)列中(4)
2、、獵取隊(duì)列的數(shù)據(jù),出隊(duì)列;(5)、顯示當(dāng)前隊(duì)列數(shù)據(jù);(6)、顯示隊(duì)列的頭數(shù)據(jù),注重不是取出數(shù)據(jù);示例如下:packagecom.ycx.queue;importjava.util.scanner;publicclassarrayqueuedemopublicstaticvoidmain(stringargs)/測(cè)試/創(chuàng)建一個(gè)隊(duì)列arrayqueuequeue=newarrayqueue(3);charkey=&39;&39;/接受用戶輸入scannerinput=newscanner(system.in);booleanflag=true;/控制循環(huán)默認(rèn)死循環(huán)/輸出菜單whil
3、e(flag)system.out.println("s(show),顯示隊(duì)列");system.out.println("e(exit),退出隊(duì)列");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=input.next().cha
4、rat(0);/接受收一個(gè)字符switch(key)case&39;s&39;:queue.showqueue();break;case&39;a&39;:system.out.println("輸一個(gè)數(shù)");intval=input.nextint();queue.addqueue(val);break;case&39;g&39;:/取出數(shù)據(jù)由于辦法里面拋出了異樣所以這里需要捕捉tryintres=queue.getqueue();system.out.printf("取出的數(shù)據(jù)為%dn&a
5、mp;quot;,res);catch(exceptione)system.out.println(e.getmessage();break;case&39;h&39;:tryintres=queue.headqueue();system.out.printf("隊(duì)列頭的數(shù)據(jù)為%dn",res);catch(exceptione)system.out.println(e.getmessage();break;case&39;e&39;:/退出程序input.close();/關(guān)閉flag=false;break;default
6、:break;system.out.println("程序退出");/一、用法數(shù)組模擬隊(duì)列-編寫一個(gè)arrayqueue類classarrayqueueprivateintmaxsize;/表示數(shù)組的最大容量privateintfront;/隊(duì)列頭privateintrear;/隊(duì)列尾privateintarr;/該數(shù)組用于存放數(shù)據(jù),模擬隊(duì)列/創(chuàng)建隊(duì)列的構(gòu)造器publicarrayqueue(intarrmaxsize)maxsize=arrmaxsize;arr=newintmaxsize;/初始化數(shù)組front=-1;/指向隊(duì)列頭部,分析出front是指
7、向隊(duì)列頭的前一個(gè)位置有效數(shù)據(jù)的位置rear=-1;/指向隊(duì)列尾,指向隊(duì)列尾的數(shù)據(jù)(即就是隊(duì)列最后一個(gè)位置)/1.推斷隊(duì)列是否滿publicbooleanisfull()returnrear=maxsize-1;/由于rear是從-1開頭的(假如不理解就看筆記上的圖)/2.推斷隊(duì)列是否為空publicbooleanisempty()returnrear=front;/3.添加數(shù)據(jù)到隊(duì)列中publicvoidaddqueue(intn)/推斷隊(duì)列是否為滿if(isfull()system.out.println("隊(duì)列已滿,不能加入數(shù)據(jù)");rear+;/rea
8、r后移arrrear=n;/也可以挺直寫成arr+rear:rear先加再取值/4.獵取隊(duì)列的數(shù)據(jù),出隊(duì)列publicintgetqueue()if(isempty()thrownewruntimeexception("隊(duì)列空,不能取數(shù)據(jù)");front+;/front后移由于front指向的是前一個(gè)元素(front=-1)returnarrfront;/5.顯示當(dāng)前隊(duì)列數(shù)據(jù)publicvoidshowqueue()/遍歷if(isempty()system.out.println("當(dāng)前隊(duì)列為空");return;for(inti=0;i<arr.length;i+)system.out.printf("arr%d=%dn",i,arri);/格式化輸出/6.顯示隊(duì)列的頭數(shù)據(jù),注重不是取出數(shù)據(jù)publicintheadqueue()if(isempty()thrownewruntimeexception("隊(duì)列為空");returna
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 讓課堂充滿生機(jī)與活力
- 2025年槍托項(xiàng)目可行性研究報(bào)告
- 2025年度航空航天裝備研發(fā)合作合同
- 信用社終止貸款合同范本
- 儲(chǔ)值合同范本
- 保時(shí)捷買賣合同范本
- 公司對(duì)個(gè)人轉(zhuǎn)讓合同范例
- 優(yōu)信網(wǎng)出租車合同范例
- 交通管制合同范本
- 企業(yè)公司聘用合同范本
- 高中物理《光電效應(yīng)》
- 烹飪實(shí)訓(xùn)室安全隱患分析報(bào)告
- 《金屬加工的基礎(chǔ)》課件
- 運(yùn)輸行業(yè)春節(jié)安全生產(chǎn)培訓(xùn) 文明駕駛保平安
- 體驗(yàn)式沙盤-收獲季節(jié)
- HGE系列電梯安裝調(diào)試手冊(cè)(ELS05系統(tǒng)SW00004269,A.4 )
- 找人辦事協(xié)議
- 老年護(hù)理陪護(hù)培訓(xùn)課件
- 醬香型白酒工廠設(shè)計(jì)
- 第3章 環(huán)境感知技術(shù)
- 牽引管道孔壁與管道外壁之間注漿技術(shù)方案
評(píng)論
0/150
提交評(píng)論