已采納回答 / 慕勒4262831
因為隊列篇舉例的是環形隊列,隊頭和隊尾指向的位置一旦超過隊的容量,就指向了初始位(0位)。例如:4個位置(0~3)的隊列,現在隊頭在1位置,隊尾在3位置,此時再來一個元素,隊尾只能移到0位置,即(3+1)%4=0的位置。出隊時隊頭位置的變化情況也是一樣的。而棧的情況和環形隊列不同,數據存儲是按直線形式的,在元素入棧和出棧時不會出現環形隊列指針位置變化的情況,下標不用取余。
2017-08-10
補充“一只蝸牛”的一個棧的方法。如果遇到 (] 或者 [) 等情況,明顯也是不匹配的,可以在判斷條件中直接判定不匹配,結束函數,不必等到判定結束。
“垃圾君”說的好,這是括號匹配,不是單純的查括號個數。
“垃圾君”說的好,這是括號匹配,不是單純的查括號個數。
2017-08-09
最新回答 / 慕標6516834
elem只是作為一個中間值,做一個跳板,在m_iTop下標減一,指向出棧,如果寫成m_pBuffer[m_iTop] = elem,因為傳遞的是引用,那么你的m_pBuffer[m_iTop]的值就被賦值為你主函數傳遞的值。個人見解,理解錯了,勿噴。
2017-07-28
已采納回答 / 慕姐5027723
棧內的某一項均為0~15之間的某個數字,而這個數字需要轉換為0~F,所以構造了一個存有0~F字符串的數組,讓0~15作為下標去訪問這個數組,因為0~15本身也是0~F數組的索引
2017-07-27