递归求顺序表的平均值

使用递归求解顺序表的平均值,将数据划分为两部分,当前位置的值和前面所有位置的数据和的和除以当前的数据个数,递归将问题不断缩小,划分为子问题,从表首开始向后求解
float  AvgNumR(int* list, int n) //求平均值
{
    assert(list);
    assert(n >= 0);
    if (n == 0)
        return list[n];
    return (AvgNumR(list,n-1)*n + list[n]) / (n+1);
    //当前的平均值
}

其他一些顺序表地递归的操作:https://github.com/Mjianjianjiao/Arithmetic_Practice

猜你喜欢

转载自blog.csdn.net/M_jianjianjiao/article/details/82745988
今日推荐