最贊回答 / MAKER_01
應該是棧存儲和數組存儲一樣,首地址為0,新增一個元素后m_iTop+1,指向下一個位置,元素存在位置0的內存中。因此第n個元素位置和對應的m_iTop=n指向的位置不同
2016-08-03
已采納回答 / 未道修
老師講的用兩個棧的沒有聽懂,自己想了一個辦法,望采納Mystack<char>*pmystack=new Mystack<char>(50); char str[]="[{()({{}}())}](([{}])){[([])]}{}()"; pmystack->Push(str[0]);//讓第一個字符入棧 for(int i=1;i<strlen(str);i++)//從第二個字符開始掃描 { if((pmystack->m_pBuffer[pmystack-...
2016-07-31
已采納回答 / sardipeng
構造函數里 char *m_pBuffer=new char[m_iSize]; 改成?m_pBuffer=new char[m_iSize];
2016-07-31
已采納回答 / ziom
這當然是不匹配的。你仔細想想現實中可能出現這樣的括號組合嗎?括號的作用是包裹內容,區分級別,你這個小括號和中括號都交叉了,還如何包裹內容?從程序執行的角度來說也是不正確的,當檢索到第二個左中括號的時候,它急需的是右中括號,這時,下一個檢索出來的括號必定要是某個左括號或者它需要的右中括號,否則會直接打印不匹配。
2016-07-31