国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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)遵守國家法律
昌乐县| 满洲里市| 惠来县| 汉寿县| 武汉市| 玉树县| 资源县| 仙居县| 临安市| 梧州市| 天镇县| 理塘县| 偏关县| 班玛县| 珲春市| 巴青县| 新安县| 青浦区| 黑河市| 肥东县| 民乐县| 广丰县| 黄山市| 扬州市| 吉林省| 清涧县| 宁都县| 临武县| 曲阳县| 林州市| 伊宁市| 武夷山市| 乐清市| 邮箱| 无棣县| 布尔津县| 丰县| 合作市| 旺苍县| 仙居县| 新巴尔虎左旗|