已采纳回答 / 慕勒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