出入栈顺序的合法性检测

2017-05-04 23:56 阅读 568 次 评论 0 条

栈的合法性检测在笔试选择题里面层出不穷,对你是否理解栈的数据结构是一个较好的考验。但是,当出入栈的元素数量比较大时,是比较浪费时间的,因此用代码编写一个通式是很有必要的。

设计思路

比如给出一个入栈序列,一个出栈序列,判断二者是否存在合法的出入栈操作?

①将二者的压栈入栈顺序保存在两个一维数组中。

②若两个数组内的元素个数不等,则直接返回FALSE。

③定义一个顺序栈,若栈为空,则开始入栈。

④若栈顶元素与出栈元素不匹配,则继续入栈。若相等,则出栈。

⑤如果栈内元素为空,则说明出入栈的顺序是合法的,否则不合法。

源代码及注释

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:出入栈顺序的合法性检测 | 术与道的分享
分类:编程素养 标签:,
1024do.com导航_术与道导航平台

发表评论


表情