




已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
實驗三 隊列基本操作 一、實驗目的掌握隊列的基本操作:初始化、判空、判滿、入隊、出隊、取隊列首元素等運算。二、實驗要求包含有頭文件和main函數(shù);1. 格式正確,語句采用縮進格式; 2. 設計子函數(shù)實現(xiàn)題目要求的功能;3. 編譯、連接通過,熟練使用命令鍵;4. 運行結果正確,輸入輸出有提示,格式美觀。三、實驗設備、材料和工具1. 奔騰2計算機或以上機型2. turboc2,win-tc四、實驗內(nèi)容和步驟實驗內(nèi)容:1. 分析程序。2. 完成程序編寫和補充步驟:3. 確定數(shù)據(jù)的結構;4. 利用main函數(shù)調用各子函數(shù);5. 調試、分析運行結果。五、實驗報告要求1. 根據(jù)實驗內(nèi)容初步設計好程序,并從理論上排除錯誤;2. 針對程序的健壯性準備好測試數(shù)據(jù);3. 結果分析中如實填寫運行后的結果,記錄調試過程中產(chǎn)生的重要問題和解決方法。六、根據(jù)實驗過程填寫下面內(nèi)容1.構建棧頭文件,文件名稱seqstack.h#define TRUE 1#define FALSE 0#define Stack_Size 50#define StackElementType char/*順序棧*/typedef structStackElementType elemStack_Size; /*用來存放棧中元素的一維數(shù)組*/int top; /*用來存放棧頂元素的下標,top為-1表示空棧*/SeqStack;/*初始化*/void InitStack(SeqStack *S)/*構造一個空棧S*/ S-top = -1;/*判???/int IsEmptys(SeqStack *S) /*判斷棧S為空棧時返回值為真,反之為假*/return(S-top=-1?TRUE:FALSE);/*判棧滿*/int IsFull(SeqStack *S)/*判斷棧S為滿棧時返回值為真,反之為假*/return(S-top=Stack_Size-1?TRUE:FALSE);/*入棧*/int Push(SeqStack *S,StackElementType x)if(S-top=Stack_Size-1) return(FALSE); /*棧已滿*/S-top+;S-elemS-top = x;return(TRUE);/*出棧*/int Pop(SeqStack *S,StackElementType *x) /* 將棧S的棧頂元素彈出,放到x所指的存儲空間中 */if(S-top = -1) /*棧為空*/return(FALSE);else *x = S-elemS-top;S-top-; /* 修改棧頂指針 */ return(TRUE);/*取棧頂元素。*/int GetTop(SeqStack *S,StackElementType *x) /* 將棧S的棧頂元素彈出,放到x所指的存儲空間中,但棧頂指針保持不變 */if(S-top = -1) /*棧為空*/return(FALSE);else *x = S-elemS-top; return(TRUE);2.構建隊列頭文件,文件名稱seqqueue.h#define TRUE 1#define FALSE 0#define MAXSIZE 50 /*隊列的最大長度*/#define QueueElementType chartypedef structQueueElementType elementMAXSIZE; /* 隊列的元素空間*/int front; /*頭指針指示器*/int rear; /*尾指針指示器*/SeqQueue;/*初始化操作*/void InitQueue(SeqQueue *Q) /* 將*Q初始化為一個空的循環(huán)隊列 */Q-front=Q-rear=0;/*入隊操作*/int EnterQueue(SeqQueue *Q, QueueElementType x) /*將元素x入隊*/if(Q-rear+1)%MAXSIZE=Q-front) /*隊列已經(jīng)滿了*/return(FALSE);Q-elementQ-rear=x;Q-rear=(Q-rear+1)%MAXSIZE; /* 重新設置隊尾指針 */return(TRUE); /*操作成功*/*出隊操作*/int DeleteQueue(SeqQueue *Q, QueueElementType *x) /*刪除隊列的隊頭元素,用x返回其值*/if(Q-front=Q-rear) /*隊列為空*/return(FALSE);*x=Q-elementQ-front;Q-front=(Q-front+1)%MAXSIZE; /*重新設置隊頭指針*/return(TRUE); /*操作成功*/int GetHead(SeqQueue *Q, QueueElementType *x) /*提取隊列的隊頭元素,用x返回其值*/if(Q-front=Q-rear) /*隊列為空*/return(FALSE);*x=Q-elementQ-front;return(TRUE); /*操作成功*/int IsEmpty(SeqQueue *Q) /*提取隊列的隊頭元素,用x返回其值*/if(Q-front=Q-rear) /*隊列為空*/return(TRUE);elsereturn(FALSE); /*操作成功*/3.構建隊列逆置的程序,補充以下程序,完成運行和調試。#include stdio.h#include seqqueue.h#include seqstack.hvoid proc(SeqQueue *q) void main() /定義隊列q /定義字符數(shù)組str50,定義字符變量temp /定義整型變量i /初始化隊列qprintf(請輸入隊列內(nèi)容:0); /輸入字符串for(i=0;stri!=0;i+) /輸出字符的每
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 物流行業(yè)離職證明與入職銜接(5篇)
- 產(chǎn)品代理銷售協(xié)議及市場分成協(xié)議
- 兒童血培養(yǎng)規(guī)范化采集指南專家共識考試試題
- 建筑材料采購與銷售合作協(xié)議
- 基因編輯技術的倫理挑戰(zhàn)分析
- 家庭農(nóng)場生產(chǎn)經(jīng)營與租賃協(xié)議
- 游戲公司用戶粘性提升及游戲內(nèi)容創(chuàng)新研究
- 外貿(mào)單證操作實務試題集
- 虛擬現(xiàn)實教育產(chǎn)品在虛擬現(xiàn)實虛擬旅游體驗中的應用設計與效果評估報告
- 遙感技術在農(nóng)村農(nóng)業(yè)資源利用應用協(xié)議
- Seldinger穿刺技術課件
- 船體結構與制圖知到智慧樹期末考試答案題庫2025年華中科技大學
- 2025年度醫(yī)療機構應急預案演練計劃
- 過戶光伏合同能源管理協(xié)議
- 2025至2030年中國稀奶油市場分析及競爭策略研究報告
- 藥店考核試題及答案
- 智慧礦山無人機自動巡檢解決方案
- 海南2025年中國熱帶農(nóng)業(yè)科學院椰子研究所高層次人才引進(第1號)筆試歷年參考題庫附帶答案詳解
- 抽水蓄能電站全生命周期成本控制及優(yōu)化方案研究
- 2025-2030智能制造裝備行業(yè)市場發(fā)展分析及前景趨勢與投資研究報告
- 顳下頜關節(jié)紊亂病
評論
0/150
提交評論