下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1、 實驗?zāi)康模?) 掌握隊列“先進(jìn)先出”的特點;(2) 復(fù)習(xí)隊列的入隊、出對、插入、刪除等基本操作;(3) 掌握循環(huán)隊列的特點,以及循環(huán)隊列的應(yīng)用。2、 實驗內(nèi)容(1) 在順序存儲結(jié)構(gòu)上實現(xiàn)輸出受限制的雙端循環(huán)隊列的入隊和出隊(只允許隊頭輸出)算法;(2) 設(shè)每個元素表示一個待處理的作業(yè),元素值表示作業(yè)的預(yù)計時間。入隊列采取簡化的短作業(yè)優(yōu)先原則,若一個新提交的作業(yè)的預(yù)計執(zhí)行時間小于隊頭和隊尾作業(yè)的平均時間,則插入在對頭,否則插入在隊尾;(3) 循環(huán)隊列數(shù)據(jù)類型:#define MAXLEN 10typedef struct int dataMAXLEN;Int front ,rear;cse
2、queue;(4) 入隊作業(yè)處理的預(yù)計時間可以用隨機(jī)函數(shù)rand()產(chǎn)生,也可以從鍵盤輸入。3、 實驗要求(1) 用C(C+)語言完成算法設(shè)計和程序設(shè)計。(2) 上機(jī)調(diào)試通過實驗程序。(3) 輸入數(shù)據(jù),檢驗程序運行結(jié)果。(4) 給出具體的算法分析,包括時間復(fù)雜度和空間復(fù)雜度等。(5) 撰寫實驗報告(把輸入實驗數(shù)據(jù)及運行結(jié)果用抓圖的形式粘貼到實驗報告上)。4、 實驗步驟與源程序 實驗步驟先從具體的問題中抽象出適當(dāng)?shù)臄?shù)學(xué)模型,然后設(shè)計出相應(yīng)的算法,其中,需要設(shè)計一個主函數(shù)來實現(xiàn)菜單的輸出,設(shè)計另外五個函數(shù)來求分別實現(xiàn)初始化隊列,入隊,出隊,顯示,求隊列長度,最后,串接函數(shù),并調(diào)試程序,在調(diào)試的時候
3、,我先進(jìn)行入隊操作,輸入9個數(shù)據(jù)之后,程序顯示隊滿,不能入隊,然后開始出隊操作,輸出9個數(shù)字之后,程序顯示隊空,再進(jìn)行入隊,顯示隊中的各個元素,并求隊長,多次調(diào)試后,發(fā)現(xiàn)沒有問題,得出實驗結(jié)果,并截圖。 源代碼#include<stdio.h>#define MAXLEN 10typedef struct int dataMAXLEN; / 定義數(shù)據(jù)的類型 int front,rear; / 定義隊頭、隊尾指針csequeue;csequeue q; void IniQueue() / 初始化隊列 q.front=q.rear=MAXLEN-1; void InQueue() /
4、入隊函數(shù) int x ; printf("ntt 輸入一個入隊的整數(shù)數(shù)據(jù):"); scanf("%d",&x); if (q.front=(q.rear+1) % MAXLEN ) printf("ntt 隊滿,不能入隊! n"); return; q.rear=(q.rear+1) % MAXLEN; q.dataq.rear=x; printf("ntt 入隊成功! n"); void Outsequeue() / 出隊函數(shù) if (q.front=q.rear) printf ("ntt 此
5、隊列為空! "); return ; / 隊空不能出隊 else q.front=(q.front+1) % MAXLEN; printf("ntt 出隊元素為:%dn",q.dataq.front); / 輸出隊頭元素 return; void ShowQueue() / 顯示函數(shù) int k=q.front; if (k=q.rear) printf("ntt 此隊列為空! n"); return; printf("ntt 此隊列元素為:"); do k=(k+1)%MAXLEN; printf("%4d&qu
6、ot;,q.datak); while(k!=q.rear); printf("n");int length() int k; k=(q.rear-q.front+MAXLEN)% MAXLEN; return k;void main() / 主函數(shù) int i=1; int choice; IniQueue(); while (i) printf("ntt 循 環(huán) 隊 列n");printf("ntt*");printf("ntt* 1-進(jìn) 隊 *");printf("ntt* 2-出 隊 *"
7、;);printf("ntt* 3-顯 示 *"); printf("ntt* 4-求 隊 列 長 度 *");printf("ntt* 0-返 回 *");printf("ntt*");printf("nntt 請選擇菜單號: ");scanf("%d",&choice);switch(choice) case 1: InQueue(); break; case 2: Outsequeue(); break; case 3: ShowQueue(); break;
8、case 4: printf("ntt 隊列長度為: %d n",length();break; case 0: i=0; break; 5、 測試數(shù)據(jù)與實驗結(jié)果(可以抓圖粘貼)(1)菜單顯示:(2)入隊:(3)隊滿(已入隊9個元素):(4)出隊:(5)隊空(已出隊9個元素):(6)顯示隊中的元素:(7)求隊長:6、 結(jié)果分析與實驗體會本次實驗是參考了范例程序,經(jīng)過自己的改寫,從而實現(xiàn)要求。先做簡單的輸出,一步步的再做其它格式的設(shè)置。在實驗的過程中,我加深了對隊列各種操作的理解,因為隊列是“先進(jìn)先出”的操作受限制的線性表,一般隊列只允許在隊尾進(jìn)行插入操作,在隊頭進(jìn)行刪除操作,元素之間存在一對一的關(guān)系,本程序的設(shè)計過程也是對前面線性表知識的鞏固。再者,用鏈?zhǔn)酱鎯Y(jié)構(gòu)實現(xiàn)這個程序,實際上是設(shè)計一個帶有頭指針(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 淺論多媒體在計算機(jī)教學(xué)中的應(yīng)用
- 《新能源材料專業(yè)英語》教學(xué)大綱
- 禮儀課題文檔
- 教案 均值不等式教案
- 玉溪師范學(xué)院《土地生態(tài)學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 名著經(jīng)典語錄摘要
- 婚姻家庭繼承法教案
- 電影放映機(jī)賬務(wù)處理實例-記賬實操
- 房地產(chǎn) -太平山文旅開發(fā)規(guī)劃方案融合運營規(guī)劃提案
- 2024年空氣清新香片項目綜合評估報告
- 2024年軟件資格考試系統(tǒng)集成項目管理工程師(中級)(基礎(chǔ)知識、應(yīng)用技術(shù))合卷試卷及解答參考
- 廣東省廣州市2024年中考數(shù)學(xué)真題試卷(含答案)
- 《秋游》秋游教學(xué)課件
- 人教部編版六年級語文上冊郝曉怡《盼》名師教學(xué)課件
- 2023年5月軟考中級系統(tǒng)集成項目管理工程師下午真題
- 人教版三年級語文上冊第三、四單元試卷(含答案)
- 歷史丨四川省南充市高2025屆高考適應(yīng)性考試(南充一診)高三10月聯(lián)考?xì)v史試卷及答案
- 農(nóng)村污水管網(wǎng)建設(shè)合同范本
- 呼吸衰竭個案護(hù)理
- 五年級上冊解方程練習(xí)100題及答案
- 2024年中科院心理咨詢師官方備考試題庫-上(單選題)
評論
0/150
提交評論