• 智能AI问答!更聪明、更完整、原创作!
  • 一款基于GPT的超级AI机器人,可以回答问题、聊天、创作、写文案!

用c语言代码实现

发布于 2024-04-10 10:28:51

以下是使用C语言实现分治算法求一个数组中的最大元素的代码:

#include <stdio.h>

int max(int a, int b) {
    return a > b ? a : b;
}

int findMax(int arr[], int left, int right) {
    if (left == right) {
        return arr[left];
    } else {
        int mid = (left + right) / 2;
        int leftMax = findMax(arr, left, mid);
        int rightMax = findMax(arr, mid + 1, right);
        return max(leftMax, rightMax);
    }
}

int main() {
    int arr[] = {3, 5, 1, 7, 9, 4};
    int n = sizeof(arr) / sizeof(arr[0]);
    int maxNum = findMax(arr, 0, n - 1);
    printf("The maximum number in the array is %d\n", maxNum);
    return 0;
}

该程序定义了一个递归函数findMax,用于在给定的数组范围内查找最大值。在每次递归中,程序将数组分为左右两个部分,分别求出左半部分和右半部分的最大值,并返回两者中较大的一个。最后,在主函数中调用该函数,并输出结果。

0 条评论

发布
问题

在线
客服