进栈与出栈
Posted pursuiting
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了进栈与出栈相关的知识,希望对你有一定的参考价值。
问题描述:有四个元素abcd依次入初始为空的栈中,入栈之后可停留,可出栈。最后所有元素都出栈,请分析并写出所有可能的分别以a,b,c,d开头的出栈序列。
首先分析以a开头的出栈序列。序列前两位无非3种:ab,ac,ad。再分别分析这三种开头的序列分别对应着几种可能序列。
ab显然有abcd和abdc两种,ac有acbd和acdb两种,而ad只有adcb一种,因为在仅有a在栈外,bcd都在栈内的情况下,栈内从上到下的顺序只有dcb一种,这种情况比较特殊。因此以a开头的出栈序列共有abcd,abdc,acbd,acdb,adcb五种。
按照同样的方法可以得出以b开头的出栈序列有bacd,badc,bcad,bcda,bdca五种。
以c开头的出栈序列有cbad,cbda,cdba三种。
以d开头的出栈序列只有dcba一种。
以上是关于进栈与出栈的主要内容,如果未能解决你的问题,请参考以下文章
用java编写程序,利用线程同步编写一个栈操作程序,包括数据的进栈和出栈。
Android UICanvas 画布 ① ( Canvas 状态栈 | Canvas 状态栈入栈与出栈 | 获取 Canvas 状态栈容量 | Canvas 状态栈原点数据 )