关于数组的各种算法

一、数组求和

  1. 1
int calcu_sum(int *a, int n)
{
    return n == 0 ? 0 : calcu_sum(a, n-1) + a[n - 1];
}

1、如果数组元素个数为0,那么和为0。

2、如果数组元素个数为n,那么先求出前n - 1个元素之和,再加上a[n - 1]即可

二、数组排序

 链接:常见排序算法及其对应的时间复杂度和空间复杂度 - zwtzz - 博客园 (cnblogs.com)

三、求数组的最大值和最小值

四、数组逆序

//数组逆序
void backward_array(int *a, int n)
{
    int left_index = 0;
    int right_index = n - 1;

    while (left_index < right_index)
    {
        int temp = a[left_index];
        a[left_index++] = a[right_index];
        a[right_index--] = temp;
    }
}
原文地址:https://www.cnblogs.com/keepdoing123/p/14919287.html