两个递归程序(数组最大元素,汉诺塔)
Posted 土鳖不土,战斗力五
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了两个递归程序(数组最大元素,汉诺塔)相关的知识,希望对你有一定的参考价值。
1、递归返回数组中最大元素
//返回数组中最大元素 int findMax(int a[], int n) { int next = 0; if (n == 1) return a[0]; next = findMax(&a[1], n-1); return a[0]>next ? a[0] : next; }
2、汉诺塔
/* 汉诺塔:把盘子从A驻移动到C柱,大盘子时刻不能在小盘子之上 输入:n(盘子数目) 输出:步骤 */ int hanoid(char A, char B, char C, int n) { if (n == 0) return 0; if (n == 1) { printf("Move #%d from %c to %c\n", n, A, C); return 0; } else { hanoid(A, C, B, n-1); //hanoid(A, B, C, 1); printf("Move #%d from %c to %c\n", n, A, C); hanoid(B, A, C, n-1, step+2); } return 0; }
以上是关于两个递归程序(数组最大元素,汉诺塔)的主要内容,如果未能解决你的问题,请参考以下文章