📄 train.txt
字号:
#include<stdio.h>
#define MaxLen 100
struct snode
{
int data[MaxLen];
int top;
}s; /*定义一个栈指针 */
int n; /*定义输入序列总个数 */
void Initstack()
{
s.top=-1;
}
void push(int q) /*元素n进栈 */
{
s.top++;
s.data[s.top]=q;
}
int pop() /*出栈 */
{
int temp;
temp=s.data[s.top];
s.top--;
return temp;
}
int Emptys() /*判断栈空*/
{
if(s.top==-1)
return 1;
else
return 0;
}
void process(int pos,int path[],int curp) /*当前处理位置pos的元素 */
{
int m,i;
if(pos<n) /*编号进栈递归*/
{
push(pos+1);
process(pos+1,path,curp);
pop();
}
if(!Emptys()) /*编号出栈递归 */
{
m=pop();
path[curp]=m;
curp++;
process(pos,path,curp);
push(m);
}
if(pos==n&&Emptys()) /*输出一种可能的方案 */
{
for(i=0;i<curp;i++)
printf("%2d",path[i]);
printf("\n");
}
}
void main()
{
int path[MaxLen];
printf("inut the num of trains :");
scanf("%d",&n);
Initstack();
push(1);
printf("the out queen:\n");
process(1,path,0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -