


版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1、實(shí)驗(yàn)?zāi)康模?)掌握隊(duì)列“先進(jìn)先出”的特點(diǎn);(2)復(fù)習(xí)隊(duì)列的入隊(duì)、出對(duì)、插入、刪除等基本操作;(3)掌握循環(huán)隊(duì)列的特點(diǎn),以及循環(huán)隊(duì)列的應(yīng)用。2、實(shí)驗(yàn)內(nèi)容(1)在順序存儲(chǔ)結(jié)構(gòu)上實(shí)現(xiàn)輸出受限制的雙端循環(huán)隊(duì)列的入隊(duì)和出隊(duì)(只允許隊(duì)頭輸出)算法;(2) 設(shè)每個(gè)元素表示一個(gè)待處理的作業(yè),元素值表示作業(yè)的預(yù)計(jì)時(shí)間。入隊(duì)列采取簡(jiǎn)化的短作業(yè)優(yōu)先原則,若一個(gè)新提交的作業(yè)的預(yù)計(jì)執(zhí)行時(shí)間小于隊(duì)頭和隊(duì)尾作業(yè)的平均時(shí)間,則插入在對(duì)頭,否則插入在隊(duì)尾;(3)循環(huán)隊(duì)列數(shù)據(jù)類型:#defi ne MAXLEN 10typedef struct int dataMAXLEN;Int fron t ,rear;csequeue
2、;(4) 入隊(duì)作業(yè)處理的預(yù)計(jì)時(shí)間可以用隨機(jī)函數(shù)rand()產(chǎn)生,也可以從鍵盤輸入。3、實(shí)驗(yàn)要求(1)用C ( C+)語(yǔ)言完成算法設(shè)計(jì)和程序設(shè)計(jì)。(2)上機(jī)調(diào)試通過(guò)實(shí)驗(yàn)程序。(3)輸入數(shù)據(jù),檢驗(yàn)程序運(yùn)行結(jié)果。(4)給出具體的算法分析,包括時(shí)間復(fù)雜度和空間復(fù)雜度等。(5)撰寫實(shí)驗(yàn)報(bào)告(把輸入實(shí)驗(yàn)數(shù)據(jù)及運(yùn)行結(jié)果用抓圖的形式粘貼到實(shí)驗(yàn)報(bào)告上)。4、實(shí)驗(yàn)步驟與源程序?qū)嶒?yàn)步驟先從具體的問(wèn)題中抽象出適當(dāng)?shù)臄?shù)學(xué)模型,然后設(shè)計(jì)出相應(yīng)的算法,其中,需要設(shè)計(jì)一個(gè)主函 數(shù)來(lái)實(shí)現(xiàn)菜單的輸出,設(shè)計(jì)另外五個(gè)函數(shù)來(lái)求分別實(shí)現(xiàn)初始化隊(duì)列,入隊(duì),出隊(duì),顯示,求隊(duì)列長(zhǎng)度,最后,串接函數(shù),并調(diào)試程序,在調(diào)試的時(shí)候,我先進(jìn)行入隊(duì)操作,
3、輸入9個(gè)數(shù)據(jù)之后,程序顯示隊(duì)滿,不能入隊(duì),然后開(kāi)始出隊(duì)操作,輸出9個(gè)數(shù)字之后,程序顯示隊(duì)空,再進(jìn)行入隊(duì),顯示隊(duì)中的各個(gè)元素,并求隊(duì)長(zhǎng),多次調(diào)試后,發(fā)現(xiàn)沒(méi)有問(wèn)題,得出實(shí)驗(yàn)結(jié)果,并截圖。源代碼#in clude<stdio.h>#defi ne MAXLEN 10typedef struct int dataMAXLEN;/int fron t,rear;/csequeue;csequeue q;void Ini Queue()定義數(shù)據(jù)的類型定義隊(duì)頭、隊(duì)尾指針/初始化隊(duì)列 q.fro nt=q.rear=MAXLEN-1;入隊(duì)函數(shù)void In Queue()/ int x ;prin
4、 tf("ntt輸入一個(gè)入隊(duì)的整數(shù)數(shù)據(jù):”);scan f("%d",& x);if (q.fro nt=(q.rear+1) % MAXLEN ) printf("ntt隊(duì)滿,不能入隊(duì)! n"); return; q.rear=(q.rear+1) % MAXLEN;q.dataq.rear=x;printf("ntt入隊(duì)成功! n");出隊(duì)函數(shù)隊(duì)空不能出隊(duì)void Outsequeue()/ if (q.fron t=q.rear) printf ("ntt此隊(duì)列為空! "); return
5、;/else q.fro nt=(q.fro nt+1) % MAXLEN;輸出隊(duì)頭元素prin tf("ntt出隊(duì)元素為:%dn",q.dataq.fro nt); /return;void ShowQueue()/顯示函數(shù)if (k=q.rear) prin tf("nttprin tf("ntt int k=q.fr ont;此隊(duì)列為空! n"); return;此隊(duì)列元素為:");do k=(k+1)%MAXLEN;prin tf("%4d",q.datak); while(k!=q.rear);prin
6、tf("n");int len gth() int k;k=(q.rear-q.fro nt+MAXLEN)% MAXLEN;return k;void main()/主函數(shù) int i=1;int choice;Ini Queue();while (i)prin tf("ntt循環(huán)隊(duì)列n");prin tf("ntt*1進(jìn)隊(duì)*"prin tf("ntt*2出隊(duì)*"prin tf("ntt*3顯示*"prin tf("ntt*4求隊(duì)列長(zhǎng)度*"prin tf("ntt
7、*0返回*");););););prin tf("ntt* *");prin tf("ntt* *");prin tf("nntt請(qǐng)選擇菜單號(hào):”);scan f("%d",&choice);switch(choice) case 1: In Queue(); break;case 2: Outsequeue(); break;case 3: ShowQueue(); break;case 4: prin tf("ntt隊(duì)列長(zhǎng)度為:%d n",length();break;case 0:
8、 i=0; break;5、測(cè)試數(shù)據(jù)與實(shí)驗(yàn)結(jié)果(可以抓圖粘貼)(1) 菜單顯示:歹隊(duì)環(huán)循J4二X 二 二* M* 七 二 M從快TK叵長(zhǎng)列 進(jìn)岀顯求返 - -請(qǐng)選擇菜單號(hào):(2) 入隊(duì):請(qǐng)選擇菜單號(hào):1輸入一個(gè)入隊(duì)的整數(shù)數(shù)據(jù) 18入(3) 隊(duì)滿(已入隊(duì)9個(gè)元素):請(qǐng)選擇菜單號(hào)乂 1輸入T入隊(duì)的整數(shù)數(shù)據(jù);21 隊(duì)滿*不能入隊(duì)?(4) 出隊(duì):請(qǐng)選擇菜單號(hào):2 出隊(duì)元素為;1?(5) 隊(duì)空(已出隊(duì)9個(gè)元素):請(qǐng)囲睪菜單號(hào):2 此臥列為空匸(6) 顯示隊(duì)中的元素:請(qǐng)選擇菜單號(hào):3此隊(duì)列元素為;111314151617 181920(7) 求隊(duì)長(zhǎng):-5 -請(qǐng)選擇菜單號(hào):4隊(duì)列長(zhǎng)度為:96、結(jié)果分析與實(shí)驗(yàn)體會(huì)本次實(shí)驗(yàn)是參考了范例程序,經(jīng)過(guò)自己的改寫,從而實(shí)現(xiàn)要求。先做簡(jiǎn)單的輸出,一步步的再 做其它格式的設(shè)置。在實(shí)驗(yàn)的過(guò)程中,我加深了對(duì)隊(duì)列各種操作的理解,因?yàn)殛?duì)列是“先進(jìn)先出” 的操作受限制的線性表,一般隊(duì)列只允許在隊(duì)尾進(jìn)行插入操作,在隊(duì)頭進(jìn)行刪除操作,元素之間存 在一對(duì)一的關(guān)系,本程序的設(shè)計(jì)過(guò)程也是對(duì)前面線性表知識(shí)的鞏固。再者,用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)實(shí)現(xiàn)這 個(gè)程序,實(shí)際上是設(shè)計(jì)一個(gè)帶
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 安全生產(chǎn)法21版
- 安全生產(chǎn)主體責(zé)任清單一覽表
- 生產(chǎn)安全管理專員的崗位職責(zé)
- 安全生產(chǎn)月開(kāi)展情況報(bào)告
- 2025年金屬鑄件項(xiàng)目申請(qǐng)報(bào)告
- 美國(guó)地理介紹課件
- 2025至2030尿流測(cè)量系統(tǒng)行業(yè)項(xiàng)目調(diào)研及市場(chǎng)前景預(yù)測(cè)評(píng)估報(bào)告
- 智慧林業(yè)推動(dòng)林業(yè)生產(chǎn)力提升的路徑研究
- 能源業(yè)務(wù)培訓(xùn)課件
- 2025至2030中國(guó)運(yùn)動(dòng)頭帶行業(yè)項(xiàng)目調(diào)研及市場(chǎng)前景預(yù)測(cè)評(píng)估報(bào)告
- 操作系統(tǒng)-001-國(guó)開(kāi)機(jī)考復(fù)習(xí)資料
- 《商務(wù)郵件禮儀》課件
- 《讓子彈飛》電影賞析
- PLC入門課程課件
- 中學(xué)生高效學(xué)習(xí)策略體系(學(xué)習(xí)的邏輯)
- 【課件】第五單元化學(xué)反應(yīng)的定量關(guān)系新版教材單元分析九年級(jí)化學(xué)人教版(2024)上冊(cè)
- 十堰房縣國(guó)有企業(yè)招聘筆試題庫(kù)2024
- 滬教版小學(xué)六年級(jí)語(yǔ)文上學(xué)期考前練習(xí)試卷-含答案
- 04S519小型排水構(gòu)筑物(含隔油池)圖集
- 外研版(2024)七年級(jí)上冊(cè)英語(yǔ)全冊(cè)教案教學(xué)設(shè)計(jì)
- 研討報(bào)告的格式范文模板
評(píng)論
0/150
提交評(píng)論