




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、棧和隊(duì)列基礎(chǔ)知識(shí)C程 序 設(shè) 計(jì)CONTENTS 棧相關(guān)知識(shí) 隊(duì)列相關(guān)知識(shí) 總結(jié)棧相關(guān)知識(shí)1.棧相關(guān)知識(shí)l 棧: 限制僅在一端進(jìn)行插入和刪除運(yùn)算的線性表?xiàng)m敆m敆5讞5兹霔H霔3鰲3鰲 棧頂:進(jìn)行插入、刪除的一端l 棧底:除棧頂外的另一端.a2a1an棧是后進(jìn)先出表( LIFO ) 棧的概念棧的概念 棧的基本操作棧的基本操作1.棧相關(guān)知識(shí)l 置空棧 createEmptyStack(void):空棧;l 判???isEmptytack(st):這是一個(gè)布爾函數(shù)。若st為空棧,則函數(shù)值為“真”, 否則為“假”。l 入棧 push(st,x):在st的頂部插入(亦稱壓入)元素 x。l 出棧 po
2、p(st):刪除(亦稱彈出)棧st的頂部元素。l 取棧頂 top(st):取棧st的頂部元素。1.棧相關(guān)知識(shí) 棧的兩種實(shí)現(xiàn)方式棧的兩種實(shí)現(xiàn)方式順序棧和鏈棧 順序棧順序棧利用一組地址連續(xù)的存儲(chǔ)單元依次存放自棧頂?shù)綏5椎臄?shù)據(jù)元素。#define MAXNUM 100 /* 棧中能達(dá)到的最大容量棧中能達(dá)到的最大容量*/ typedef int DataType; /* 定義棧元素的數(shù)據(jù)類型定義棧元素的數(shù)據(jù)類型* /struct SeqStack /* 順序棧類型定義順序棧類型定義 */DataType sMAXNUM;int t; /*棧頂棧頂*/;typedef struct SeqStack,
3、*PSeqStack;PSeqStack pastack; /*指向順序棧的指針變量指向順序棧的指針變量*/t是 int型簡(jiǎn)單變量 ,指向棧頂元素在棧中的位置(序號(hào)) 6 5 4 3 2 1 0-11.棧相關(guān)知識(shí) 順序棧順序棧約定:1、??諘r(shí),t=-12、棧滿時(shí),t=MAXNUM-13、棧頂元素:St4、若t=-1時(shí),執(zhí)行出棧操作,產(chǎn)生“下溢”5、若t=MAXNUM-1時(shí),執(zhí)行入棧,產(chǎn)生“上溢”ABCD入棧和出棧1.棧相關(guān)知識(shí) 鏈棧鏈棧棧的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)稱為鏈棧。由于只能在鏈表頭部進(jìn)行操作,故鏈棧沒(méi)有必要像單鏈表那樣需附加頭結(jié)點(diǎn)。棧頂指針top就是鏈表的頭指針head。 typedef int
4、DataType; typedef struct Node /* 結(jié)點(diǎn)結(jié)構(gòu)結(jié)點(diǎn)結(jié)構(gòu) */ DataType info; pNode link; *pNode;struct LinkStack/* 鏈接棧類型定義鏈接棧類型定義 */pNode top;/* 指向棧頂結(jié)點(diǎn)指向棧頂結(jié)點(diǎn) */;typedef struct LinkStack *PLinkStack;棧的鏈接表示棧的鏈接表示 top info link .隊(duì)列相關(guān)知識(shí)2. 隊(duì)列相關(guān)知識(shí)l 隊(duì)列:只允許在表的一端進(jìn)行插入,而在另一端進(jìn)行刪除l 隊(duì)頭:允許刪除的一端l 隊(duì)尾:允許插入的一端出隊(duì)入隊(duì)隊(duì)頭隊(duì)尾a1 a2 an . 隊(duì)列是先進(jìn)先
5、出表(FIFO)2. 隊(duì)列相關(guān)知識(shí) 隊(duì)列的基本操作隊(duì)列的基本操作l 創(chuàng)建一個(gè)空隊(duì)列 Queue createEmptyQueue ( void ) l 判隊(duì)列是否為空隊(duì)列 int isEmptyQueue ( Queue qu ) l 往隊(duì)列中插入一個(gè)元素 void enQueue ( Queue qu, DataType x ) l 從隊(duì)列中刪除一個(gè)元素 void deQueue ( Queue qu ) l 求隊(duì)列頭部元素的值 DataType frontQueue ( Queue qu ) 2. 隊(duì)列相關(guān)知識(shí) 隊(duì)列的兩種實(shí)現(xiàn)方式隊(duì)列的兩種實(shí)現(xiàn)方式順序隊(duì)列和鏈隊(duì)列 順序隊(duì)列順序隊(duì)列隊(duì)列的順
6、序存儲(chǔ)結(jié)構(gòu)簡(jiǎn)稱為順序隊(duì)列 由于隊(duì)列的隊(duì)頭和隊(duì)尾的位置均是變化的,因而要設(shè)置兩個(gè)指針,分別指示當(dāng)前隊(duì)頭元素和隊(duì)尾元素在向量空間中的位置。#define MAXNUM 100struct SeqQueue datatype qMAXNUM; int f, r;typedef struct SeqQueue *PSeqQueue;PSeqQueue sq;2. 隊(duì)列相關(guān)知識(shí) 順序隊(duì)列的入隊(duì)和出隊(duì)操作順序隊(duì)列的入隊(duì)和出隊(duì)操作隊(duì)列空: sq-f=0; sq-r=0; 入隊(duì): sq-qsq-r=x; sq-r+; 出隊(duì): sq-f+; 76543210frxryrf隊(duì)列長(zhǎng)度:(sq-r) - (sq-f)
7、2. 隊(duì)列相關(guān)知識(shí) 鏈隊(duì)列鏈隊(duì)列隊(duì)列的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)簡(jiǎn)稱為鏈隊(duì)列,它是限制僅在表頭刪除和表尾插入的單鏈表。 顯然僅有單鏈表的頭指針不便于在表尾做插入操作,為此再增加一個(gè)尾指針,指向鏈表上的最后一個(gè)結(jié)點(diǎn)。于是,一個(gè)鏈隊(duì)列由一個(gè)頭指針和一個(gè)尾指針唯一地確定。typedef struct Node DataType info; pNodelink; *pNode;struct LinkQueue PNodef; PNoder;typedef struct LinkQueue, *PLinkQueue; k0 k1 k2 kn-1.ff總結(jié)3.總結(jié)棧是限制僅在一端進(jìn)行插入和刪除運(yùn)算的線性表,它是一種后進(jìn)先出(LIFO)的數(shù)據(jù)結(jié)構(gòu)。進(jìn)行插入、刪除的一端稱為棧頂。棧有兩種實(shí)現(xiàn)方式,分別為順序棧和鏈棧。隊(duì)列是只允許在表的一端進(jìn)行插入,而在另一端進(jìn)行刪除的線性表,它是一種先進(jìn)先出(FIFO)的數(shù)據(jù)結(jié)構(gòu),允許刪除的一端稱為隊(duì)頭,允許插入的一端稱為隊(duì)尾。隊(duì)列有兩種實(shí)現(xiàn)方式,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 心理護(hù)理個(gè)案護(hù)理
- 婦產(chǎn)科護(hù)理安全管理體系
- 影視替身演員簽約協(xié)議
- 新能源車用電機(jī)測(cè)試平臺(tái)租賃與智能診斷服務(wù)協(xié)議
- 智能農(nóng)業(yè)無(wú)人機(jī)無(wú)人機(jī)作業(yè)與農(nóng)業(yè)無(wú)人機(jī)政策支持服務(wù)合同
- 熱帶植物研究溫室租賃與植物病蟲(chóng)害防治合作協(xié)議
- 電視臺(tái)主持人全職聘用及節(jié)目推廣合作協(xié)議
- 信息技術(shù)行業(yè)勞務(wù)派遣員工績(jī)效考核協(xié)議
- 商業(yè)綜合體線上線下融合委托經(jīng)營(yíng)管理合同
- 腦科學(xué)人才培養(yǎng):企業(yè)與高校合作培養(yǎng)協(xié)議
- 安徽省1號(hào)卷A10聯(lián)盟2025屆高三5月最后一卷物理試題及答案
- 2025租賃合同續(xù)簽協(xié)議書(shū)
- 《聚碳酸酯合成》課件
- 3.2基因工程的基本操作程序課件 高二下學(xué)期生物人教版(2019)選擇性必修3
- 23.《海底世界》課件
- 2025年醫(yī)療行業(yè)反壟斷監(jiān)管政策變化與合規(guī)經(jīng)營(yíng)關(guān)鍵指引報(bào)告
- 礦產(chǎn)資源開(kāi)采與銷售協(xié)議
- 《支氣管鏡檢查技術(shù)》課件
- 育肥豬考試試題及答案
- 寫作技巧知識(shí)培訓(xùn)課件
- 順豐公司外包協(xié)議合同書(shū)
評(píng)論
0/150
提交評(píng)論