华为云国际站代理商充值: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

(0)
luotuoemo的头像luotuoemo
上一篇 2024年3月31日 17:29
下一篇 2024年3月31日

相关推荐

  • 华为云国际站代理商注册:房地产的设计网站建设

    华为云国际站代理商注册:房地产设计网站建设的优势与实现 在数字化转型的浪潮中,房地产行业正面临着前所未有的挑战与机遇。房地产设计网站作为行业的重要组成部分,不仅能够提升项目的展示效果,还能实现线上营销、客户互动以及信息管理等多重功能。而在建设房地产设计网站时,选择合适的云服务平台至关重要。华为云,作为全球领先的云计算服务提供商,凭借其强大的技术实力和全方位的…

    2024年12月3日
    9500
  • 华为云代理商:仿网站工具

    华为云代理商:仿网站工具 随着互联网技术的飞速发展,越来越多的企业开始依托云计算平台开展业务。而作为领先的云计算服务提供商,华为云凭借其强大的技术实力和全方位的产品服务,成为企业数字化转型的首选之一。本文将以“华为云代理商:仿网站工具”为主题,详细介绍华为云的优势,以及仿网站工具在业务中的应用。 一、华为云的核心优势 作为全球领先的云服务平台,华为云在技术、…

    2024年9月17日
    14400
  • 华为云代理商:cdn智能调度功能

    华为云代理商:CDN智能调度功能分析 引言 随着互联网应用的普及,尤其是流媒体、在线教育、云游戏等业务的快速发展,用户对于网站访问速度和稳定性的要求日益提高。为了满足这些需求,内容分发网络(CDN)技术应运而生,成为了提升互联网服务质量的重要工具。作为全球领先的云计算服务提供商,华为云通过其强大的技术实力,推出了多项创新功能。其中,华为云CDN智能调度功能,…

    2024年12月5日
    8600
  • 常德华为云代理商:android文件加密

    常德华为云:安卓文件加密 引言 在当今信息时代,数据安全成为人们日益关注的重要问题。尤其对于Android操作系统用户而言,文件加密是保护个人隐私和敏感数据的重要手段之一。本文将介绍常德华为云作为Android文件加密云代理商的优势,并结合华为云服务器产品进行详细说明。 条理明确清晰的优势 1. 专业的安全技术 作为一家知名的云服务提供商,华为云拥有强大的安…

    2024年1月17日
    20300
  • 华为云国际站代理商注册:cdn资质条件

    华为云国际站代理商注册:CDN资质条件 引言 随着数字化转型的加速,内容分发网络(CDN)成为企业提升用户体验和服务质量的重要工具。华为云凭借其强大的技术实力和市场影响力,为希望注册成为国际站代理商的企业提供了良好的机遇。在这篇文章中,我们将详细探讨华为云的优势,以及成为其CDN代理商所需的资质条件。 华为云的优势 华为云作为全球领先的云计算服务提供商,具有…

    2024年10月31日
    9700

发表回复

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

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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