写一个算法判断出栈顺序是否正确

入栈的数据:1234567

解决思路:

简单的模拟出栈入栈操作,将元素依次入栈。然后根据输入的次序依次出栈。比如给出的出栈次序是 1 4 3 7 6 2 5,首先将1入栈,发现输入数据 中的第一个正好是1。将1出栈,下面是4,由于栈是空,并且刚才只把1入栈,接下来将2 3 4依次入栈,些时栈顶元素是4,与输入数据的第二个元素相 等,将4出栈。然后3出栈,接下来处理7,由于此时栈顶元素是2,7大于2所以接下来将5 6 7依次入栈(栈中元素为7 6 5 2)。然后栈顶元素与 输入数据的7比较相等,7出栈,然后6也相等,6出栈。此时栈中元素(5 2),待判断的输入数据为2 5。2与栈顶元素比较2<5,所以这个序列 是不可能出栈顺序。

posted @ 2016-05-03 19:12  艳鬼  阅读(1708)  评论(0编辑  收藏  举报