最新回答 / 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