我是靠谱客的博主 超级高山,最近开发中收集的这篇文章主要介绍递归之出栈次序,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

X星球特别讲究秩序,所有道路都是单行线。
一个甲壳虫车队,共16辆车,按照编号先后发车,夹在其它车流中,缓缓前行。
路边有个死胡同,只能容一辆车通过,是临时的检查站,如图所示。
X星球太死板,要求每辆路过的车必须进入检查站,也可能不检查就放行,也可能仔细检查。
如果车辆进入检查站和离开的次序可以任意交错。那么,该车队再次上路后,可能的次序有多少种?
为了方便起见,假设检查站可容纳任意数量的汽车。

显然,如果车队只有1辆车,可能次序1种;2辆车可能次序2种;3辆车可能次序5

#include<stdio.h>
//a为左边通道内的汽车数
//b为进胡同里的汽车数
int text(int a,int b)
{
	if (a == 0)    return 1;
	if (b == 0)    return text(a - 1, 1);
	return text(a, b - 1) + text(a-1,b+1); //要么左边不动,胡同出一辆车,要么左边的车进入胡同
}

int main()
{
	int a = text(3,0);
	printf("%dn",a);
	return 0;
}
递归要点:参数设计-方程设计-边界条件设计。

最后

以上就是超级高山为你收集整理的递归之出栈次序的全部内容,希望文章能够帮你解决递归之出栈次序所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部