已知进栈序列,求出栈序列

来源:互联网 发布:start here mac.app 编辑:程序博客网 时间:2024/06/16 10:58
#include<cstdio>#include<string.h>int count=0;char a[10];void perm(char a[],int k,int n){    int i,u,v,w,flag;    char temp,t[10];    strcpy(t,a);    if(k==n)    {        flag=1;        for(u=0;u<=n-2;u++)            for(v=u+1;v<=n-1;v++)                for(w=v+1;w<=n;w++)                    if((a[v]<a[w])&&(a[w]<a[u])) flag=0;        if(flag)        {            count++;            printf("%d:%s\n",count,a);        }    }    else        for(i=k;i<=n;i++)    {        strcpy(a,t);        temp=a[k];        a[k]=a[i];        a[i]=temp;        perm(a,k+1,n);    }}int main(){    printf("请输入入栈序列\n");    scanf("%s",a);    printf("所有出栈序列为:\n");    perm(a,0,strlen(a)-1);}

0 0
原创粉丝点击