注:一个元素进栈后可以马上出栈,不用等全部进栈
条件一.进栈顺序、e1、e2、e3、e4
条件二.1个元素进栈后可以马上出栈。
注:栈的规则—先进后出
那么出栈顺序有以下情况:
栈里留0个元素出栈顺序为:
1234
栈里留1个元素出栈顺序为
2341
1342
1243
栈里留2个元素出栈顺序为
3421
2431
1432
栈里留3个元素出栈顺序为
4321
所以综上比较正确答案,如果所有可能都可以的话,那肯定不止这几种情况的哈,画了图手机纯手打,省略了重复的情况
栈: [e1) 入栈 e1 栈: [e1、e2) 入栈 e2 栈: [e1) 出栈e2: {e2} 栈: [e1、e3) 入栈 e3 栈: [e1、e3、e4) 入栈 e4 栈: [e1、e3) 出栈e4: {e2、e4} 栈: [e1) 出栈e3: {e2、e4、e3} 栈: [) 出栈e1: {e2、e4、e3、e1}
栈: [e1) 入栈 e1 栈: [e1、e2) 入栈 e2 栈: [e1) 出栈e2: {e2} 栈: [e1、e3) 入栈 e3 栈: [e1) 出栈e3: {e2、e3} 栈: [e1、e4) 入栈e4 栈: [e1) 出栈e4: {e2、e3、e4} 栈: [) 出栈e1: {e2、e3、e4、e1}