最新回答 / BingBing_Elf
首先,我覺得你可能沒明白棧頂元素的位置,它的位置一直是在一個空位置,這樣才可以有位置來存儲新的進棧元素,這也是老師說為什么m_iTop這個角標和元素個數相等的原因,也就是說,當你元素為5個時,存儲的角標為0-4,但是你的m_iTop在5的位置。所以,在空棧的情況下,是不是首位置就應該是空的,即它的角標為0,當一個元素入棧后,就可以插入到角標為m_iTop的位置了,插入后一定要進行m_iTop++,讓指針指向下一個位置,以便下一個元素的入棧。希望可以幫到你(????)
2017-07-07
一個棧就可以了,首先剛開始要入棧,然后接下來將棧頂元素和待匹配的下一個元素比較,如果相等則出棧,不相等則入棧,一直這樣下去,直到字符串結束,最后棧中如果有剩余元素,那么就是不匹配
2017-06-06
本身使用遞歸也是用了棧,所以都一樣,另外老師的那個類模板給參數char,push(num[mod])也可以來做出來,但是還是建議使用老師的方法,因為用了映射,覺得比較巧妙,當然都行,你們隨意
2017-06-06
最贊回答 / 我是一只小蝸牛
因為C++ 默認的拷貝構造函數是淺拷貝,咋們案例是值這種東西,所以可以直接賦值;但是如果涉及到指針,那么用淺拷貝容易造成內存泄漏,因為你的地址是一樣的,釋放兩次會出現內存泄漏,這時候你就要自己實現拷貝構造函數了,而不能使用默認的拷貝構造函數
2017-06-03