云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > c语言数据结构 - 图文

c语言数据结构 - 图文

  • 62 次阅读
  • 3 次下载
  • 2025/7/3 18:43:19

问题4.4:代码实现*

#include #define MAX 10

int Mark[MAX] = {0}; /*标记数组,用来标记某个数字是否已被使用成为*/char Stack[MAX+1]; /*全排列数字串*/

void rank(int m, int n); /* m记录下一个要生成的全排列数字应放在Stack中的位置,n表示还剩几个数字需要

生成*/

int N;int main (){

scanf (\rank(0,N);return 0;}

void rank(int m, int n){

int i;

if( n == 0){

Stack[m] = '\\0';

puts(Stack);/* 输出全排列数字串*/return;

}

for(i=1; i<=N; i++)

if(Mark[i] == 0 ){

Mark[i] = 1; /* 标记该数字已被使用*/Stack[m] = '0'+i; /*将当前数字加到全排列数字串中*/rank(m+1,n-1); /* 生成全排列中下一个数字*/Mark[i] = 0;/*释放该数字*/

}}

递归(续):递归问题总结*

?

通常包含如下特性的问题适合应用递归方法解决:

??

问题包含一个(或多个)基本实例,如0! = 1问题的解可以简化为包含比当前问题更简单一步的问题的解,并且最终问题解可归结到基本实例,如n! = n*(n-1)!, 0!=1。

搜索更多关于: c语言数据结构 - 图文 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

问题4.4:代码实现*#include #define MAX 10int Mark[MAX] = {0}; /*标记数组,用来标记某个数字是否已被使用成为*/char Stack[MAX+1]; /*全排列数字串*/void rank(int m, int n); /* m记录下一个要生成的全排列数字应放在Stack中的位置,n表示还剩几个数字需要生成*/int N;int main (){scanf (\rank(0,N);return 0;}void rank(int m, int n){int i;if( n == 0){ Stack[m] = '\\0';puts(Stack);/* 输出全排列数字串*/

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com