递归

已知顺序表L含有n个整数,试分别以函数形式写出下列运算的递归算法:(1)求表中的最大整数(2)求表中的n个整数之和

思想:递归一次比一次或加一次即可

复制代码
#include <stdio.h>
#define N 8
void fun(int *a,int i,int &s)
{
    if(i == N)
        return ;
    else{
        s = s > a[i] ? s : a[i];
        fun(a,i+1,s);
    }
}
void fun1(int *a,int i,int &s)
{
    if(i == N)
        return ;
    else{
        s += a[i];
        fun1(a,i+1,s);
    }
}
int main()
{
    int a[N] = {1,10,5,7,9,11,6,7};
    int s = a[0];
    fun(a,0,s);
    printf("%d\n",s);
    s = 0;
    fun1(a,0,s);
    printf("%d\n",s);
    return 0;
}
复制代码

 

posted @   我在这儿  阅读(355)  评论(0编辑  收藏  举报

喜欢请打赏

扫描二维码打赏

了解更多

点击右上角即可分享
微信分享提示