版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、精品軟件技術(shù)基礎(chǔ)相關(guān)實驗實驗名稱 :棧的應(yīng)用一、 實驗?zāi)康模赫莆枕樞驐:玩準綏5亩x和運算,了解它們的應(yīng)用。二、實驗要求:1、掌握順序棧的定義、特點及常見算法。2、掌握鏈式棧的定義、特點及常見算法。3、參照給定的棧的程序樣例,驗證給出的棧的常見算法。4、提交實驗報告, 報告內(nèi)容包括: 目的、要求、 算法描述、 程序結(jié)構(gòu)、 主要變量說明、程序清單、調(diào)試情況、設(shè)計技巧、心得體會。三、實驗內(nèi)容:1、順序棧的操作和測試。要求:設(shè)計一個主函數(shù)實現(xiàn)對順序棧進行操作測試。測試方法為:依次把數(shù)據(jù)元素1,3,5 ,7,9入棧,并顯示入棧結(jié)果;接著依次出棧其中的數(shù)據(jù)元素并在屏幕上顯示。2、鏈式棧的操作。設(shè)計一個主
2、函數(shù)實現(xiàn)對鏈式棧進行操作測試。測試方法為:依次把數(shù)據(jù)元素3,6,9 ,12,15入棧,并顯示入棧結(jié)果;接著依次出棧其中的數(shù)據(jù)元素并在屏幕上顯示。3、棧的應(yīng)用。利用順序棧求解表達式(a+b ) *(c-d)的值。四、程序要求:1 、順序棧的長度自行確定。2 、重點理解棧的算法思想,能夠根據(jù)實際情況選擇合適的存儲結(jié)構(gòu)。3 、寫出完整的程序并能調(diào)試通過。五、實驗結(jié)果:入棧一個元素:-可編輯 -精品刪除一個元素:取棧頂元素:退出六、實驗中遇到的問題及解決方法:-可編輯 -精品棧的操作有了前面的基礎(chǔ),相對而言能夠編寫出來,遇到的問題還是地址操作相關(guān)的,通過不斷的練習(xí)對于指針對于地址傳遞應(yīng)該說有了比較好的
3、理解。附:源程序(自行編寫或修改的程序。若為修改程序請注明修改部分的功能,若為書上實例則可不附。)#include "stdio.h"#include"stdlib.h"#include"string.h"#define MAXNUM 20#define ElemType int/* 定義順序棧的存儲結(jié)構(gòu) */typedef struct ElemType stackMAXNUM; int top;SqStack;/* 初始化順序棧 */void InitStack(SqStack *p)if(!p)printf(" 內(nèi)存分
4、配失敗 !");p->top=-1;-可編輯 -精品/* 入棧 */void Push(SqStack *p,ElemType x)if(p->top<MAXNUM-1)p->top=p->top+1;p->stackp->top=x;elseprintf("Overflow! n");/* 出棧 */ElemType Pop(SqStack *p)ElemType x;if(p->top>=0)x=p->stackp->top;printf(" 以前的棧頂數(shù)據(jù)元素 %d 已經(jīng)被刪除 !
5、n",p->stackp->top);p->top=p->top-1;return x;-可編輯 -精品elseprintf("Underflow! n");return(0);/* 獲取棧頂元素 */ElemType GetTop(SqStack *p)ElemType x;if(p->top>=0)x=p->stackp->top;printf("n棧頂元素為: %dn",x);return x;elseprintf("Underflow! n");return 0;-可編
6、輯 -精品/* 遍歷順序棧 */void OutStack(SqStack *p)int i;printf("n");if(p->top<0)printf(" 這是一個空棧 !");printf("n");for(i=p->top;i>=0;i-)printf(" 第%d 個數(shù)據(jù)元素是: %6dn",i,p->stacki);/* 主函數(shù) */void main()SqStack *q;int cord;ElemType a;printf(" 第一次使用必須初始化 ! n&q
7、uot;);doprintf("n-主菜單 -");printf("n1初始化順序棧");printf("n2插入一個元素");printf("n3刪除棧頂元素");-可編輯 -精品printf("n4取棧頂元素");printf("n5置空順序棧");printf("n6結(jié)束程序運行");printf("n-");printf("n請輸入指令 ");scanf("%d",&cord);printf("n");switch(cord)case 1:q=(SqStack*)malloc(sizeof(SqStack);InitStack(q);OutStack(q);break;case 2:printf(" 請輸入要插入的數(shù)據(jù)元素:a=");scanf("%d",&a);Push(q,a);OutStack(q);break;-可編輯 -精品case 3:Pop(q);OutStack(q);break;case 4:GetTop(q);O
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 塑造獨特定制新我
- 旅游行業(yè)創(chuàng)新驅(qū)動
- 2落花生說課稿-2024-2025學(xué)年五年級上冊語文統(tǒng)編版
- 外聘勞務(wù)合同(2篇)
- 培訓(xùn)機構(gòu)受單位委托培訓(xùn)合同(2篇)
- 大宗礦產(chǎn)品銷售代理合同(2篇)
- 2024版二手房買賣協(xié)議(含裝修情況)2篇
- 2024氣體購銷合同范本
- 專業(yè)油罐儲存服務(wù)協(xié)議模板(2024年)版
- 物業(yè)管理裝修協(xié)議書
- 挑戰(zhàn)杯生命科學(xué)獲獎作品范例
- 微信如何進行視頻聊天
- T∕CNFMA B003-2018 林火防撲機械 以汽油機為動力的便攜式化學(xué)泡沫滅火機
- 醫(yī)院崗位設(shè)置與人員編制標準
- 全貼合OCA工藝簡介
- 部編版八上語文古代詩歌鑒賞對比閱讀(含答案)
- 帶壓堵漏夾具及規(guī)范化設(shè)計和選擇
- 單人簡易呼吸球囊操作流程1
- 標書密封條格式模板大全(共33頁)
- 鐵路交通事故分類表
- 維修確認單(共4頁)
評論
0/150
提交評論