题目
数据结构与算法,老师的题目难做啊,
设有编号为1,2,3,4的四辆车,顺序进入一个栈式结构的站台,试写出四辆车开出车站的所有可能的顺序.
设有编号为1,2,3,4的四辆车,顺序进入一个栈式结构的站台,试写出四辆车开出车站的所有可能的顺序.
提问时间:2021-04-01
答案
4 3 2 1 , 1 2 3 4, 2 3 4 1, 3 4 2 1, 2 1 3 4, 2 1 4 3, 3 2 1 4, 3 2 4 1, 2 4 3 1, 1 4 3 2 , 1 3 2 4, 1 3 4 2 1 2 4 3
#define N 4
int m=0,a=0,b=N;/*m表示种数,a表示栈中元素个数,b表示外面还有需要进栈的个数*/
main()
{
inS(a,b);/*首先入栈*/
printf("%d",m);
getch();
}
int inS(int a,int b)/*入栈*/
{
a++;b--;/*入栈栈中元素+1,栈外元素-1 */
if(b>0)/*若栈外有元素,可以入栈*/
inS(a,b);
if(a>0)/*若栈中有元素,可以出栈*/
outS(a,b);
}
int outS(int a,int b)/*出栈*/
{
a--;/*出栈栈中元素-1*/
if(a==0&&b==0)/*若栈中元素和栈外元素都为0个*/
{
m++;/*则此种情况的序列满足条件,种数+1*/
return;
}
if(b>0)
inS(a,b);
if(a>0)
outS(a,b);
}
#define N 4
int m=0,a=0,b=N;/*m表示种数,a表示栈中元素个数,b表示外面还有需要进栈的个数*/
main()
{
inS(a,b);/*首先入栈*/
printf("%d",m);
getch();
}
int inS(int a,int b)/*入栈*/
{
a++;b--;/*入栈栈中元素+1,栈外元素-1 */
if(b>0)/*若栈外有元素,可以入栈*/
inS(a,b);
if(a>0)/*若栈中有元素,可以出栈*/
outS(a,b);
}
int outS(int a,int b)/*出栈*/
{
a--;/*出栈栈中元素-1*/
if(a==0&&b==0)/*若栈中元素和栈外元素都为0个*/
{
m++;/*则此种情况的序列满足条件,种数+1*/
return;
}
if(b>0)
inS(a,b);
if(a>0)
outS(a,b);
}
举一反三
已知函数f(x)=x,g(x)=alnx,a∈R.若曲线y=f(x)与曲线y=g(x)相交,且在交点处有相同的切线,求a的值和该切线方程.
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
奥巴马演讲不用看稿子.为什么中国领导演讲要看?
想找英语初三上学期的首字母填空练习……
英语翻译
最新试题
- 1客货车同时从两个城市开出,经过6小时相遇,相遇时客车比货车多行48千米,货车速度是客车的十分之一
- 2“help me start the day well
- 3一个等边三角形,从其中心到一边中点的距离怎么求?
- 4骑自行车的人从静止开始沿直线单向运动,他在第1秒、第2秒、第3秒、第4秒内通过的路程分别为1m、2m、3m、4m,关于这个运动,下列说法中正确的是( ) A.4秒末的瞬时速度为2.5m/s B.4秒
- 5化简计算cos(80°+3α)cos(35°+α)+sin(80°+α)cos(55°-α)的过程?
- 6在锐角三角形ABC中,sinA=223,求sin2B+C/2+cos(3π−2A)的值.
- 7dance动名词
- 8用简便方法计算(1+35+…+1999)-(2+4+6+…+1998)
- 9如何理解土地改革是无产阶级领导的资产阶级革命
- 10不法商贩生产的劣质奶粉蛋白质含量很低,有的蛋白质的质量不到1%,而0-6个月的婴儿奶粉蛋白质含量要求在12%-18%,如果母乳不足,奶粉就成了这些婴儿的重要营养来源,食用劣质奶粉的婴儿蛋白质摄入不足,
热门考点