線(xiàn)性二叉樹(shù)是什么結(jié)構(gòu) 什么是棧底指針?
什么是棧底指針?在過(guò)去,我們都定義了一個(gè)常量值作為堆棧。例如,int a[20]指向具有top的堆棧的頂部。A實(shí)際上是堆棧的底部。現(xiàn)在你需要自己打開(kāi)一個(gè)記憶空間。Base是這個(gè)空間的第一個(gè)地址,所以B
什么是棧底指針?
在過(guò)去,我們都定義了一個(gè)常量值作為堆棧。例如,int a[20]指向具有top的堆棧的頂部。A實(shí)際上是堆棧的底部?,F(xiàn)在你需要自己打開(kāi)一個(gè)記憶空間。Base是這個(gè)空間的第一個(gè)地址,所以Base是最下面的指針,相當(dāng)于上面的
~。選擇一個(gè),頂部指針會(huì)更改,但元素不會(huì)更改。在堆棧中,底部指針不變,堆棧中的元素隨頂部指針動(dòng)態(tài)變化。因?yàn)槎褩J菃稳雴纬龅模悦看尾迦朐貢r(shí),頂部指針都會(huì)移動(dòng)一位。每次刪除元素時(shí),上指針也會(huì)移動(dòng)一位。頂部指針隨著元素的刪除和插入而改變。
帶鏈棧的棧底指針是隨棧的操作而動(dòng)態(tài)變化的,這句話(huà)為什么是對(duì)的?
棧的數(shù)據(jù)結(jié)構(gòu)就像沒(méi)有水的時(shí)候桶的數(shù)據(jù)結(jié)構(gòu)一樣,有水的時(shí)候上面的指針指向桶的底部,有水的時(shí)候上面的指針指向水面,當(dāng)然是水面上存儲(chǔ)的水
上面提到的水是一種數(shù)據(jù)類(lèi)型,比如int
上面的語(yǔ)句不夠嚴(yán)謹(jǐn)。
在鏈?zhǔn)酱鎯?chǔ)的棧結(jié)構(gòu)中,棧底指針的動(dòng)態(tài)變化有嚴(yán)格的約束,即當(dāng)棧出操作中棧中只有一個(gè)元素或棧中沒(méi)有元素時(shí),棧底指針會(huì)發(fā)生變化。
應(yīng)使用堆棧操作動(dòng)態(tài)更改來(lái)描述堆棧頂部指針。
“->”表示什么,棧的棧底指針指向哪,棧頂指針指向哪?
此初始化用于線(xiàn)性堆棧,即使用數(shù)組形成堆棧,堆棧頂部指針值是當(dāng)前堆棧頂部元素的下標(biāo)值。
當(dāng)堆棧中有數(shù)據(jù)時(shí),將首先添加頂部指針。
Initialize to empty stack,
指定空堆棧指向-1,這樣當(dāng)?shù)谝粋€(gè)元素進(jìn)入堆棧時(shí),頂部指針可以通過(guò)自加指向元素0,從而避免其他判斷。