这个递归程序的执行顺序是怎样的? book[i]=0;第一次打印出来后,下面的执行步骤是怎样的呢?希望大家帮帮看看 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 还有一个问题这段C代码怎么改成Java代码,结构体中的数组在类中怎么实现呢? #include <stdio.h> struct queue { int data[100];//队列的主体,用来存储内容 int head;//队首 int tail;//队尾 }; int main() { struct queue q; int i; //初始化队列 q.head=1; q.tail=1; for(i=1;i<=9;i++) { //依次向队列插入9个数 scanf("%d",&q.data[q.tail]); q.tail++; } while(q.head<q.tail) //当队列不为空的时候执行循环 { //打印队首并将队首出队 printf("%d ",q.data[q.head]); q.head++; //先将新队首的数添加到队尾 q.data[q.tail]=q.data[q.head]; q.tail++; //再将队首出队 q.head++; } getchar();getchar(); return 0; } 不是,我不是想问动态规划的状态转移方程,我只想知道dfs方法递归的执行过程,我发一张运行结果的图第一次打印出123后return,然后book[i]=0那里是怎样执行的?,以及后续的全排序是怎么打印出来的 public static void dfs(int step){ if(step == n + 1){ for (int i = 1 ; i <= n; i++){ System.out.println("a[" +i + "]=" +a[i]); } System.out.println(); return; } System.out.println("Step : " + step); for (int i = 1 ; i <= n; i++){ if(book[i] == 0){ a[step] = i; book[i] = 1; dfs(step + 1); book[i] = 0; } } return; }这样看看执行顺序吧另:结构体里的数组你也可以定义为数组,或者定位为ArrayList,vector之类的。 多线程问题,高手们进来看看这个怎么设计 使用EditPlus编译,老是出现奇怪的问题:Exception in thread "main" 再请教个关于list 显示的问题,能实现这样的效果么? 一个初学者的简单问题.... 我的socket客户端为什么收不到返回包? 急啊 关于paint的小问题 请高手帮忙解答,谢谢 请问哪里有java2 核心技术卷2可下(第6版 ),第5版也可,书店里没找到。谢谢! 问问大家Java得代码规范是什么? 我的问题你们都会,但我今天第一次用java写HelloWorld程序 菜鸟求大神解答 Java Swing 怎么关闭弹出的窗口
这段C代码怎么改成Java代码,结构体中的数组在类中怎么实现呢?
#include <stdio.h>
struct queue {
int data[100];//队列的主体,用来存储内容
int head;//队首
int tail;//队尾 }; int main() {
struct queue q;
int i;
//初始化队列
q.head=1;
q.tail=1;
for(i=1;i<=9;i++) {
//依次向队列插入9个数
scanf("%d",&q.data[q.tail]);
q.tail++; }
while(q.head<q.tail) //当队列不为空的时候执行循环 { //打印队首并将队首出队 printf("%d ",q.data[q.head]);
q.head++;
//先将新队首的数添加到队尾
q.data[q.tail]=q.data[q.head];
q.tail++;
//再将队首出队
q.head++; }
getchar();getchar();
return 0;
}
if(step == n + 1){
for (int i = 1 ; i <= n; i++){
System.out.println("a[" +i + "]=" +a[i]);
}
System.out.println();
return;
}
System.out.println("Step : " + step);
for (int i = 1 ; i <= n; i++){
if(book[i] == 0){
a[step] = i;
book[i] = 1;
dfs(step + 1);
book[i] = 0;
}
}
return;
}
这样看看执行顺序吧
另:结构体里的数组你也可以定义为数组,或者定位为ArrayList,vector之类的。