华为云国际站代理商充值:c语言写归并算法

以下是在C语言中编写的归并排序算法:

#include<stdlib.h>
#include<stdio.h>
  
void merge(int arr[], int l, int m, int r)
{
    int i, j, k;
    int n1 = m - l + 1;
    int n2 = r - m;

    int L[n1], R[n2];
 
    for (i = 0; i < n1; i++)
        L[i] = arr[l + i];
    for (j = 0; j < n2; j++)
        R[j] = arr[m + 1+ j];
  
    i = 0; 
    j = 0; 
    k = l; 
    while (i < n1 && j < n2)
    {
        if (L[i] <= R[j])
        {
            arr[k] = L[i];
            i++;
        }
        else
        {
            arr[k] = R[j];
            j++;
        }
        k++;
    }
  
    while (i < n1)
    {
        arr[k] = L[i];
        i++;
        k++;
    }
  
    while (j < n2)
    {
        arr[k] = R[j];
        j++;
        k++;
    }
}

void mergeSort(int arr[], int l, int r)
{
    if (l < r)
    {
        int m = l+(r-l)/2;
 
        mergeSort(arr, l, m);
        mergeSort(arr, m+1, r);
  
        merge(arr, l, m, r);
    }
}
 
void printArray(int A[], int size)
{
    int i;
    for (i=0; i < size; i++)
        printf("%d ", A[i]);
    printf("n");
}
 
int main()
{
    int arr[] = {12, 11, 13, 5, 6, 7};
    int arr_size = sizeof(arr)/sizeof(arr[0]);
 
    printf("Given array is n");
    printArray(arr, arr_size);
  
    mergeSort(arr, 0, arr_size - 1);
  
    printf("nSorted array is n");
    printArray(arr, arr_size);
    return 0;
}

以上例子中,merge() 函数用于合并两个子数组,mergeSort() 相当于主函数,主要是完成递归分解,并调用 merge() 进行合并,printArray() 则是用于打印数组。

参考资料:https://www.geeksforgeeks.org/merge-sort/

发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/172775.html

Like (0)
luotuoemo的头像luotuoemo
Previous 2024年3月31日 17:29
Next 2024年3月31日

相关推荐

  • 临沂华为云代理商:android搜索文件

    临沂华为云代理商:Android搜索文件 引言 随着移动互联网的普及,Android系统已经成为全球最流行的移动操作系统之一。在日常使用中,我们经常需要查找手机中的文件,但有时候找不到特定文件会让我们感到很困扰。本文将介绍如何利用华为云的优势来更快更方便地在Android手机中搜索文件。 华为云的优势 华为云作为全球领先的云服务提供商,拥有强大的技术支持和稳…

    2024年3月14日
    7900
  • 华为云国际站代理商注册:cdn质量优化

    华为云国际站代理商注册:CDN质量优化 随着互联网的普及和发展,全球用户对网站访问速度、稳定性和安全性的需求不断提高。特别是在跨境业务中,如何提供更好的用户体验成为企业面临的重大挑战。内容分发网络(CDN)作为一种加速网站内容加载的技术,已经成为现代互联网架构的关键组成部分。在这种背景下,华为云作为全球领先的云服务提供商,其提供的CDN解决方案因其高效性、安…

    2024年11月10日
    1500
  • 常州华为云代理商:asia英语域名注册

    常州华为云代理商:asia英语域名注册 华为云的优势 作为全球领先的云计算服务提供商,华为云在技术实力、安全性、稳定性等方面都具有显著的优势。 技术实力:华为云拥有自主研发的云计算架构技术,可以为用户提供高效稳定的云服务。 安全性:华为云采用多层次的安全防护体系,保障用户数据的安全性。 稳定性:华为云拥有多个数据中心,可以实现全球化的服务覆盖,同时具有高可靠…

    2024年3月15日
    7900
  • 华为云国际站代理商充值:服务器跟客户端

    华为云国际站代理商充值:服务器与客户端的完美结合 引言 随着数字化转型的不断深入,云计算已经成为企业信息化建设的重要基础。华为云作为全球领先的云服务提供商,凭借其强大的技术实力和丰富的产品线,受到了广泛的关注和认可。本文将围绕华为云国际站代理商的充值方式,从服务器和客户端的角度,探讨华为云的优势,并结合华为云服务器产品进行详细分析。 华为云的市场优势 华为云…

    2024年11月2日
    1900
  • 华为云国际站代理商:cdn开启https

    华为云国际站代理商:CDN开启HTTPS详解 在现代互联网环境中,HTTPS协议已成为提升网站安全性和用户信任度的重要标准。对于使用华为云国际站的企业来说,启用CDN服务中的HTTPS功能,不仅可以提升访问速度,还能有效防止数据劫持和篡改。本文将从华为云CDN服务的优势、HTTPS功能的具体作用、配置流程以及使用中的注意事项四个方面,为您详细讲解如何通过华为…

    2024年10月31日
    2400

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
购买阿里云服务器请访问:https://www.4526.cn/