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