![實(shí)驗(yàn)二棧和隊(duì)列的基本操作實(shí)現(xiàn)及其應(yīng)用夢(mèng)魂_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/10/5c58b5e0-723d-4b60-991b-dfed1a0c69fd/5c58b5e0-723d-4b60-991b-dfed1a0c69fd1.gif)
![實(shí)驗(yàn)二棧和隊(duì)列的基本操作實(shí)現(xiàn)及其應(yīng)用夢(mèng)魂_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/10/5c58b5e0-723d-4b60-991b-dfed1a0c69fd/5c58b5e0-723d-4b60-991b-dfed1a0c69fd2.gif)
![實(shí)驗(yàn)二棧和隊(duì)列的基本操作實(shí)現(xiàn)及其應(yīng)用夢(mèng)魂_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/10/5c58b5e0-723d-4b60-991b-dfed1a0c69fd/5c58b5e0-723d-4b60-991b-dfed1a0c69fd3.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)驗(yàn)二棧和隊(duì)列的基本操作實(shí)現(xiàn)及其應(yīng)用 1一、實(shí)驗(yàn)?zāi)康?1二、實(shí)驗(yàn)內(nèi)容 2題目一、 試寫(xiě)一個(gè)算法,判斷依次讀入的一個(gè)以 為結(jié)束符的字符序列,是否為回文。所謂 “回文“是指正向讀和反向讀都一樣的一字符串女口 321123 ”或ableelba ” 2三、實(shí)驗(yàn)步驟 3、數(shù)據(jù)結(jié)構(gòu)與核心算法的設(shè)計(jì)描述3、函數(shù)調(diào)用及主函數(shù)設(shè)計(jì)5程序調(diào)試及運(yùn)行結(jié)果分析 5 實(shí)驗(yàn)總結(jié) 6四、主要算法流程圖及程序清單61 、程序清單 6實(shí)驗(yàn) 二 棧和隊(duì)列的基本操作實(shí)現(xiàn)及其應(yīng)用、實(shí)驗(yàn)?zāi)康?、熟練掌握棧和隊(duì)列的基本操作在兩種存儲(chǔ)結(jié)構(gòu)上的實(shí)現(xiàn)。2、會(huì)用棧和隊(duì)列解決簡(jiǎn)單的實(shí)際問(wèn)題。二、實(shí)驗(yàn)內(nèi)容題目一、 試寫(xiě)一個(gè)算法,判斷依次讀入的一個(gè)
2、以 為結(jié)束符的字符 序列,是否為回文。 所謂“回文“是指正向讀和反向讀都一樣的一字符 串,如 321123 ”或a“l(fā)eelba ”相關(guān)常量及結(jié)構(gòu)定義:# define STACK_INIT_SIZE 100# define STACKINCREMENT 10# define OK 1# define ERROR 0typedef int SElemType;/棧類(lèi)型定義typedef struct SqStack SElemType *base;SElemType *top;int stacksize;SqStack;設(shè)計(jì)相關(guān)函數(shù)聲明:判斷函數(shù): int IsReverse()棧:int I
3、nitStack(SqStack &S )int Push(SqStack &S, SElemType e )int Pop(SqStack &S,SElemType &e) int StackEmpty(s)三、實(shí)驗(yàn)步驟、數(shù)據(jù)結(jié)構(gòu)與核心算法的設(shè)計(jì)描述棧的順序儲(chǔ)存 : typedef struct SqStack SElemType *base;/ 棧底指針SElemType *top;/ 棧頂指針 int stacksize;SqStack;棧的初始化:int InitStack(SqStack &s )/構(gòu)造一個(gè)空棧 Ss.base=(SElemTy
4、pe *)malloc(STACK_INIT_SIZE*sizeof(SElemType); if(!s.base) exit(OVERFLOW); / 儲(chǔ)存分配失敗s.top=s.base;s.stacksize=STACK_INIT_SIZE;return OK;進(jìn)棧:int Push(SqStack &s, char e )/ 進(jìn)棧/ 在棧頂插入 eif(s.top-s.base>=s.stacksize)s.base=(SElemType*)realloc(s.base,(s.stacksize+STACKINCREMENT)*sizeof( SElemType);if(
5、!s.base) exit(OVERFLOW); / 儲(chǔ)存分配失敗s.top=s.base+s.stacksize;/s.stacksize+=STACKINCREMENT;*s.top+=e;return OK;出棧:int Pop(SqStack &s,char &e)/ 出棧if(s.top=s.base) return ERROR;e=*-s.top;return OK;判斷棧是否為空:int StackEmpty(SqStack &s)/ 判斷是否為空棧if(s.top=s.base) return ERROR;elsereturn OK;判斷是否為回文:in
6、t IsReverse(SqStack &s)/ 判斷是否是回文int j;char b;for(j=0;j<i;j+)/ 注意循環(huán)到棧底時(shí)Pop(s,b);/ 出棧,將元素賦值與 b;if(b!=aj) return 0;return 1;、函數(shù)調(diào)用及主函數(shù)設(shè)計(jì)主函數(shù):輸入數(shù)據(jù)開(kāi)始進(jìn)棧并且保存在數(shù)組中,再出棧與數(shù)組中的數(shù)據(jù)比 較,從而來(lái)判斷是否為回文。void main()SqStack q;InitStack(q);char m;cout<<" 輸入數(shù)據(jù): "while(cin>>m && m!=''
7、)/ 以 結(jié)束輸入 Push(q,m);ai=m;i+;if (StackEmpty(q)=0)cout<<" 此為空棧! "<<endl;exit(0);int flag;/ 標(biāo)注是否為回文! flag=IsReverse(q);if(flag=0) cout<<a<<" 不是回文 "<<endl; else cout<<a<<" 是回文 "<<endl; 程序調(diào)試及運(yùn)行結(jié)果分析程序運(yùn)行:1.當(dāng)輸入: 123456fggf654321 進(jìn)
8、行判斷。:我的文檔、我的資料'大二下學(xué)期諜程1數(shù)搖結(jié)構(gòu)I數(shù)抿結(jié)構(gòu)實(shí)薑'實(shí)驗(yàn)2 RfiMhui. |123456FF6532ie123456fgfffGS4321£ 回文Press any key to comtinue2.輸入:123456實(shí)驗(yàn)總結(jié)通過(guò)這次實(shí)驗(yàn),我學(xué)會(huì)了棧和隊(duì)列的使用。編程,本來(lái)就是一件不容易的事情,需要我們不斷的鍛煉,不斷的 學(xué)習(xí),熟能生巧,我們只有大量的練習(xí),好好的編程,只有這樣,才 能提高我們的編程能力。經(jīng)過(guò)這次實(shí)驗(yàn),我明白了許多,也了解了許多。我的編程能力不好。 對(duì)于一些簡(jiǎn)單的算法,都不能立刻編出來(lái),我需要很長(zhǎng)時(shí)間的思考, 才能解決這個(gè)問(wèn)題。但
9、我也了解到了自己的長(zhǎng)處,我不會(huì)放棄,我要不斷的學(xué)習(xí),我一 定能夠勤能補(bǔ)拙的,我的編程能力一定會(huì)得到提高的。在以后的學(xué)習(xí)中,我將更加努力。四、主要算法流程圖及程序清單1、程序清單#in elude <iostream.h>#in elude <stdio.h>#in elude <stdlib.h># define STACK_INIT_SIZE 100# define STACKINCREMENT 10# define OK 1# define ERROR 0#define OVERFLOW 0typedef int SElemType;/ 定義 SElem
10、Type 為 int 類(lèi)型 /棧類(lèi)型定義typedef struct SqStack SElemType *base;SElemType *top; int stacksize;SqStack;char aSTACK_INIT_SIZE+STACKINCREMENT; /設(shè)計(jì)相關(guān)函數(shù)聲明:int IsReverse(SqStack &s);/ 判斷是否是回文int InitStack(SqStack &s );/ 棧初始化int Push(SqStack &s, char e );/ 進(jìn)棧int Pop(SqStack &s,char &e);/ 出棧i
11、nt StackEmpty(SqStack &s);/ 判斷是否為空棧int i=0;/ 棧的長(zhǎng)度void main()SqStack q;InitStack(q); char m;cout<<" 輸入數(shù)據(jù): " while(cin>>m && m!='')Push(q,m); ai=m;i+;if (StackEmpty(q)=0)cout<<" 此為空棧! "<<endl; exit(0);int flag; flag=IsReverse(q);if(flag=0
12、) cout<<a<<" 不是回文 "<<endl;else cout<<a<<" 是回文 "<<endl;int InitStack(SqStack &s )/構(gòu)造一個(gè)空棧 Ss.base=(SElemType *)malloc(STACK_INIT_SIZE*sizeof(SElemType); if(!s.base) exit(OVERFLOW); / 儲(chǔ)存分配失敗 s.top=s.base;s.stacksize=STACK_INIT_SIZE;return OK;i
13、nt Push(SqStack &s, char e )/ 進(jìn)棧/ 在棧頂插入 eif(s.top-s.base>=s.stacksize)s.base=(SElemType*)realloc(s.base,(s.stacksize+STACKINCREMENT)*sizeof( SElemType);if(!s.base) exit(OVERFLOW); / 儲(chǔ)存分配失敗 s.top=s.base+s.stacksize;/ s.stacksize+=STACKINCREMENT;*s.top+=e;return OK;int Pop(SqStack &s,char &e)/ 出棧if(s.top=s.base) return ERROR;e=*-s.top; return OK;int StackEmpty(SqStack &s)/ 判斷是否為空棧if(s.top=s.base) return ERROR; elsereturn OK;int IsReverse(SqStack &s) int j; char b; for(j=0;j<i
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 12富起來(lái)到強(qiáng)起來(lái) 第一課時(shí)(說(shuō)課稿)-2023-2024學(xué)年道德與法治五年級(jí)下冊(cè)統(tǒng)編版
- 13《貓》說(shuō)課稿-2023-2024學(xué)年四年級(jí)語(yǔ)文下冊(cè)統(tǒng)編版
- Unit 4 Customs and Traditions:Review of Passives 語(yǔ)法銜接活動(dòng)案例說(shuō)課稿-2024-2025學(xué)年高中英語(yǔ)滬外版必修第一冊(cè)
- 8 安全記心上《平安出行》(說(shuō)課稿)-部編版道德與法治三年級(jí)上冊(cè)
- 西藏小區(qū)變壓器施工方案
- 27《巨人的花園》(說(shuō)課稿)-2023-2024學(xué)年統(tǒng)編版語(yǔ)文四年級(jí)下冊(cè)
- 《3 我的本領(lǐng)大-循環(huán)模塊與執(zhí)行器模塊組合應(yīng)用》說(shuō)課稿-2023-2024學(xué)年清華版(2012)信息技術(shù)六年級(jí)下冊(cè)001
- 9元日說(shuō)課稿-2023-2024學(xué)年三年級(jí)下冊(cè)語(yǔ)文統(tǒng)編版
- Unit 3 Seasons Lesson 2(說(shuō)課稿)-2023-2024學(xué)年人教新起點(diǎn)版英語(yǔ)二年級(jí)下冊(cè)
- 倒賣(mài)人口合同范例
- 邵陽(yáng)市職工勞動(dòng)能力鑒定表
- 稀土配合物和量子點(diǎn)共摻雜構(gòu)筑發(fā)光軟材料及其熒光性能研究
- 衛(wèi)生部手術(shù)分級(jí)目錄(2023年1月份修訂)
- JJG 921-2021環(huán)境振動(dòng)分析儀
- 中藥炮制學(xué)-第五、六章
- 中國(guó)風(fēng)軍令狀誓師大會(huì)PPT模板
- 小兒高熱驚厥精品課件
- 2023機(jī)械工程師考試試題及答案
- 2022年電拖實(shí)驗(yàn)報(bào)告伍宏淳
- 豐田汽車(chē)戰(zhàn)略規(guī)劃與戰(zhàn)略管理體系研究(2021)
- 即興口語(yǔ)(姜燕)-課件-即興口語(yǔ)第一章PPT-中國(guó)傳媒大學(xué)
評(píng)論
0/150
提交評(píng)論