先进后出的栈

先进后出,不一定要全部入栈之后再出栈,没入栈完也可以先出栈。
规律:
出栈的每一个元素的后面,其中比该元素先入栈的一定按照入栈逆顺序排列。
举例说明:
已知入栈顺序: 1 2 3 4 5
判断出栈顺序: 4 3 5 1 2
结果:不合理,原因是出栈元素3之后有 5 1 2 这三个元素,其中1 2 是比3先入栈的,根据规律,这两个出栈的顺序必须和入栈顺序相反,
也就是 2 1 出栈,不可能按照1 2 顺序出栈。

已知入栈顺序: 1 2 3 4 5
判断出栈顺序: 2 1 3 5 4
结果:合理,逐个判断,2后面比它先入栈的是“1”,单个元素当然可以;1后面无比它先入栈的,故不需要比较;3后面无比它先入栈的,故不需要比较;
5后面比它先入栈的是“4”,单个元素当然可以,4后面没有元素,不需要比较。

转自:

此文仅为鄙人学习笔记之用,朋友你来了,如有不明白或者建议又或者想给我指点一二,请私信我。liuw_flexi@163.com/QQ群:582039935. 我的gitHub: (学习代码都在gitHub) https://github.com/nwgdegitHub/
原文地址:https://www.cnblogs.com/liuw-flexi/p/14048792.html