課程
/后端開發(fā)
/C++
/數(shù)據(jù)結(jié)構(gòu)探險—棧篇
棧頂為-1 不是才為空嗎 希望能說明一下,視頻中說為0是空
2017-07-07
源自:數(shù)據(jù)結(jié)構(gòu)探險—棧篇 2-2
正在回答
首先,我覺得你可能沒明白棧頂元素的位置,它的位置一直是在一個空位置,這樣才可以有位置來存儲新的進棧元素,這也是老師說為什么m_iTop這個角標(biāo)和元素個數(shù)相等的原因,也就是說,當(dāng)你元素為5個時,存儲的角標(biāo)為0-4,但是你的m_iTop在5的位置。所以,在空棧的情況下,是不是首位置就應(yīng)該是空的,即它的角標(biāo)為0,當(dāng)一個元素入棧后,就可以插入到角標(biāo)為m_iTop的位置了,插入后一定要進行m_iTop++,讓指針指向下一個位置,以便下一個元素的入棧。希望可以幫到你(????)
我自己寫的棧就是-1為空,當(dāng)有一個元素top=0 ,不是正好能利用整個數(shù)組嘛,或者你top=0 為空,添加一個元素數(shù)組[top-1] = element 也行啊,就是整個全體上錯一位嘛,原理理解了隨便寫的啊top = 100也行 當(dāng)然你的數(shù)組就從100開始了
為什么是-1,是0。有一個元素的時候為1
舉報
棧,先入后出(FILO),帶領(lǐng)大家體會棧這種數(shù)據(jù)結(jié)構(gòu)的美妙
2 回答最后的遍歷函數(shù)難道不用判斷棧是否為空么?
1 回答入棧之后m_iTop自增,但是判斷棧中元素個數(shù)返回的是m_iTop,這個返回值是不是不正確?
1 回答如果棧滿了,出棧時,還要先做m_iTop--嗎?
1 回答[([([(]]]))) 這個是判斷不出來的
2 回答關(guān)于在棧中的循環(huán)
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2018-03-15
首先,我覺得你可能沒明白棧頂元素的位置,它的位置一直是在一個空位置,這樣才可以有位置來存儲新的進棧元素,這也是老師說為什么m_iTop這個角標(biāo)和元素個數(shù)相等的原因,也就是說,當(dāng)你元素為5個時,存儲的角標(biāo)為0-4,但是你的m_iTop在5的位置。所以,在空棧的情況下,是不是首位置就應(yīng)該是空的,即它的角標(biāo)為0,當(dāng)一個元素入棧后,就可以插入到角標(biāo)為m_iTop的位置了,插入后一定要進行m_iTop++,讓指針指向下一個位置,以便下一個元素的入棧。希望可以幫到你(????)
2017-07-23
我自己寫的棧就是-1為空,當(dāng)有一個元素top=0 ,不是正好能利用整個數(shù)組嘛,或者你top=0 為空,添加一個元素數(shù)組[top-1] = element 也行啊,就是整個全體上錯一位嘛,原理理解了隨便寫的啊top = 100也行 當(dāng)然你的數(shù)組就從100開始了
2017-07-07
為什么是-1,是0。有一個元素的時候為1