来源:http://www.oschina.net/code/snippet_782608_15128
package com.test;
import java.util.Stack;
public class StackSequence {
public static int number=0;
static Stackstack=new Stack();//保存入栈的元素
static int[] array=new int[10];//保存输出的元素
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
print_valid_sequence(1,4);
}
//入栈顺序1到n,输出所有的出栈序列
public static void print_valid_sequence(int i, int n )
{
int top;//用来取top
if(i == n+1)//递归结束条件,输出序列
{
++number;
System.out.println(number+"——————");
//输出数组中的元素
for(int j = 0;j < n-stack.size();++j)
System.out.print(array[j]+"-");//正序输出
//输出栈