最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

【數(shù)據(jù)結(jié)構(gòu)】棧 (順序的基礎(chǔ)操作) (C語言版)

2023-05-14 00:26 作者:羽走  | 我要投稿

本來這個(gè)大坑是沒時(shí)間填了的,但是竟然可以填完這個(gè)大坑了。

棧的定義

????????課本介紹:棧是限定僅在表尾進(jìn)行插入或刪除操作的線性表。因此,對(duì)棧來說,表尾端有其特殊含義,稱為棧頂(top),相應(yīng)的,表頭稱為棧底(bottom)。不含元素的空表稱為空棧。

????????棧的定義沒啥說的,就一個(gè)先進(jìn)后出的容器。如果需要按照保存數(shù)據(jù)時(shí)相反的順序來使用數(shù)據(jù),則可以使用棧來實(shí)現(xiàn)。

案例引入

????????1.數(shù)制的轉(zhuǎn)換(進(jìn)制轉(zhuǎn)換)

????????2.括號(hào)匹配的檢驗(yàn)

????????3.表達(dá)式求值

????????4.舞伴問題

????????這些案例的實(shí)現(xiàn)會(huì)放到下一個(gè)專欄寫。

順序棧的定義,表示,實(shí)現(xiàn)

1.順序棧的定義(也是順序棧的存儲(chǔ)結(jié)構(gòu))? ? ? ? ?

????????順序棧是指利用順序存儲(chǔ)結(jié)構(gòu)實(shí)現(xiàn)的棧,即利用一組地址連續(xù)的存儲(chǔ)單元依次存放自棧底到棧頂?shù)臄?shù)據(jù)元素,同時(shí)附設(shè)指針top棧頂元素在順序棧中的位置。當(dāng) topbase%20 的值相等時(shí),表示空棧。

關(guān)于SElemType?,其實(shí)就是 int,為什么定義那么復(fù)雜課本上也早就說過,是為了統(tǒng)一數(shù)據(jù)類型而定,是根據(jù)個(gè)人需求來的。其實(shí)跟 int 沒有實(shí)質(zhì)性的不同。包括后面會(huì)出現(xiàn)的Status%EF%BC%8COK%EF%BC%8C%20OVERFLOW?都在這篇文章定義過了。

說明

????????(1)若?baseNULL,則表明棧結(jié)構(gòu)不存在。

????????(2)??諘r(shí),top?和 base%20 的值相等,非空時(shí),top 始終指向棧頂元素的上一個(gè)位置。

2.順序棧的初始化

????????也沒什么好說的,就是把?top?初始為 base,表示???。

3.入棧

(1)先判斷棧是否滿,滿了返回ERROR。

(2)將新元素壓入棧頂,棧頂指針%2B1。

4.出棧

(1)先判斷棧是否為空,空了沒有元素應(yīng)當(dāng)返回ERROR%E3%80%82

(2)棧頂指針-1, 棧頂元素出棧。

????????到這里其實(shí)這篇專欄是可以不寫的了,但其實(shí)之前寫了兩篇沒有再堅(jiān)持是因?yàn)檎n本上的一些繁雜定義確實(shí)是有點(diǎn)不太適合,這也是我之前不打算再寫課本上的數(shù)據(jù)結(jié)構(gòu)代碼的一個(gè)主要原因(但是現(xiàn)在有時(shí)間了, 還挺閑的)。這里會(huì)稍微寫一點(diǎn)?C%2B%2B?的 STL 容器的內(nèi)容。(以下代碼可以直接復(fù)制粘貼到編譯器里面編譯運(yùn)行)

????????STL?比課本上簡單很多,也省去了指針越界的麻煩,但是容器本身越界還是會(huì)報(bào)錯(cuò)的,一行代碼就解決了課本上好幾行代碼的事情(雖然但是,在數(shù)據(jù)量極其大的時(shí)候,還是手搓的數(shù)據(jù)結(jié)構(gòu)跑得快)有精力的話建議學(xué)習(xí)一下?STL,能將很多抽象的數(shù)據(jù)結(jié)構(gòu)具體化一些。

????????好久沒寫了,有錯(cuò)誤請(qǐng)指正。


【數(shù)據(jù)結(jié)構(gòu)】棧 (順序的基礎(chǔ)操作) (C語言版)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
临城县| 镇安县| 屏南县| 浙江省| 上虞市| 焦作市| 石狮市| 江山市| 龙江县| 南皮县| 满城县| 黔南| 平谷区| 玉屏| 万源市| 台山市| 崇仁县| 苏尼特左旗| 雷山县| 株洲市| 凤阳县| 长阳| 龙海市| 河曲县| 武威市| 陆丰市| 儋州市| 阜宁县| 贡觉县| 塔河县| 思茅市| 仙居县| 林州市| 伊金霍洛旗| 新营市| 余庆县| 河津市| 江陵县| 正宁县| 固阳县| 利川市|