




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、該程序定義了鏈式棧(棧的鏈式存儲結(jié)構(gòu))的存儲結(jié)構(gòu),并實現(xiàn)了鏈式棧的基本操作,例如:初始化、銷毀、判空、獲取長度,插入、刪除、獲取棧頂元素,遍歷。(一)該頭文件定義了鏈式棧的存儲結(jié)構(gòu)(帶頭節(jié)點),對鏈式棧的基本操作的函數(shù)原型進行了聲明(linkStack.h)。#pragmaonce保證頭文件被編譯一次/定義函數(shù)結(jié)果狀態(tài)代碼# defineTRUE1# defineFALSE0# defineOK1# defineERROR0# defineOVERFLOW-1# defineUNDERFLOW-2/定義函數(shù)返回值類型typedefintStatus;/定義鏈式棧的數(shù)據(jù)元素的類型typedefi
2、ntElemType;/定義鏈式棧的存儲結(jié)構(gòu)structLNodeElemTypedata;/數(shù)據(jù)域structLNode*next;指針域;structLStackstructLNode*top;棧頂指針);/聲明鏈式棧的基本操作StatusInitStack(LStack&s);StatusDestroyStack(LStack&s);StatusStackEmpty(LStacks);StatusStackLength(LStacks);StatusPush(LStack&s,ElemTypee);StatusPop(LStack&s,ElemType&a
3、mp;e);StatusGetTop(LStacks,ElemType&e);StatusStackTraverse(LStacks);(二)該源文件實現(xiàn)了頭文件聲明的函數(shù)(linkStack.cpp)#include"linkStack.h"#include<iostream>usingnamespacestd;StatusInitStack(LStack&s)操作結(jié)果:構(gòu)造一個空棧SstructLNode*p;p=(LNode*)malloc(sizeof(LNode);if(!p)cout<<"嚴重錯誤:鏈式棧初始分配
4、頭節(jié)點失敗,程序退出exit(ERROR);)s.top=p;p->next=NULL;returnOK;)StatusDestroyStack(LStack&s)初始條件:棧s已存在操作結(jié)果:棧s被銷毀structLNode*p;p=s.top;while(p)s.top=p->next;free(p);p=s.top;)returnOK;)StatusStackEmpty(LStacks)初始條件:棧s已存在操作結(jié)果:若棧s為空棧,則返回TRUE,否則FALSEif(s.top->next=NULL)returnTRUE;returnFALSE;StatusSta
5、ckLength(LStacks)初始條件:棧s已存在操作結(jié)果:返回s的元素個數(shù),即棧的長度(intlength=0;structLNode*p;p=s.top;while(p->next)length+;p=p->next;returnlength;StatusPush(LStack&s,ElemTypee)初始條件:棧s已存在操作結(jié)果:寸1入元素e成為新的棧頂元素structLNode*p;p=(LNode*)malloc(sizeof(LNode);if(!p)exit(OVERFLOW);s.top->data=e;p->next=s.top;s.top
6、=p;returnOK;StatusPop(LStack&s,ElemType&e)初始條件:棧s已存在且非空e返回其值操作結(jié)果:刪除s的棧頂元素,并且用(structLNode*p;if(!(s.top->next)exit(UNDERFLOW);p=s.top;s.top=p->next;e=s.top->data;free(p);returnOK;StatusGetTop(LStacks,ElemType&e)初始條件:棧s已存在且非空操作結(jié)果:用e返回s的棧頂元素(if(!(s.top->next)exit(ERROR);s.top=s.
7、top->next;e=s.top->data;returnOK;StatusStackTraverse(LStacks)/從棧頂開始依次輸出if(!(s.top->next)exit(ERROR);p=s.top;while(p->next)p=p->next;cout<<p->data<<endl;returnOK;(三)該源文件為測試程序(demo.cpp)#include"linkStack.h"#include<iostream>usingnamespacestd;intmain()inte;structLStacks;InitStack(s);Push(s,4);GetTop(s,e);cout<<e<<endl;Push(s,5);Push(s,6);Push(s,7);Push(s,8);Push(s,9);GetTop(s,e);cout<<e<<endl;cout<<
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 母嬰產(chǎn)品市場渠道創(chuàng)新研究:2025年高端品牌線上線下融合策略報告
- 教育信息化基礎設施對教育信息化產(chǎn)業(yè)的影響報告
- 安全月安全試題及答案
- 校長對教師培訓課件
- 融媒體記者培訓課件
- 安全光柵試題及答案
- 金融行業(yè)客戶關系管理數(shù)字化升級2025年金融業(yè)CRM系統(tǒng)客戶體驗提升報告
- 2025年BIM技術在建筑項目施工驗收管理中的應用報告
- 沉浸式戲劇在旅游市場的推廣策略與創(chuàng)作實踐報告001
- 2024年7月黑龍江高中學業(yè)水平合格考歷史試卷真題(含答案詳解)
- 2025年湖北省中考化學試卷真題(含答案解析)
- 2025至2030中國插針機行業(yè)發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
- 2025年江西省中考歷史試卷(含答案)
- 2025年四川省宜賓市中考數(shù)學真題含答案
- 食品銷售公司食品安全管理制度
- 測量行業(yè)工作管理制度
- 2025年天津市河西區(qū)中考二模英語試題
- T/CECS 10359-2024生物安全實驗室生命支持系統(tǒng)
- 2025年物業(yè)安全管理專家考試試題及答案
- 2025消費趨勢及增長策略洞察報告
- 東芝CV180調(diào)試手冊
評論
0/150
提交評論