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

相关推荐

  • 华为云代理商:ftp服务器怎么修改网页

    华为云代理商:FTP服务器怎么修改网页 在当前数字化转型的大潮中,越来越多的企业和开发者依赖于云计算服务来提高其IT基础设施的灵活性和效率。作为全球领先的云计算服务提供商,华为云为企业提供了广泛的云服务,帮助用户在云端进行各种资源的管理和部署。对于FTP服务器的管理和网页修改,华为云也提供了强大的支持。本文将详细介绍如何在华为云环境中修改FTP服务器上的网页…

    2025年3月22日
    5200
  • 华为云国际站代理商注册:查网站cdn

    华为云国际站代理商注册:查网站CDN 随着互联网技术的不断发展,全球企业对高性能、高可用的云服务需求日益增长。在众多云服务供应商中,华为云凭借其卓越的技术实力和全球化的布局,成为了众多企业的首选。而对于那些想要通过代理销售华为云产品的公司来说,注册成为华为云国际站代理商是一个重要的步骤。本文将围绕华为云国际站代理商注册、华为云CDN的优势以及华为云服务器产品…

    2025年3月27日
    4800
  • 华为云国际站代理商充值:服务监管对象

    华为云国际站代理商充值:服务监管对象 华为云的优势 华为云是华为公司推出的云计算服务平台,旨在为客户提供安全、可靠、高效的云计算解决方案。华为云具有以下优势: 1. 全球领先的技术实力 华为作为全球领先的ICT解决方案供应商,拥有丰富的技术积累和强大的研发能力。华为云借助华为在云计算领域的技术实力,为客户提供高品质的云服务。 2. 安全可靠的服务保障 华为云…

    2024年5月23日
    18300
  • 华为云国际站代理商注册:服务监控系统

    华为云国际站代理商注册:服务监控系统 随着云计算行业的迅猛发展,越来越多的企业开始采用云服务以提高运营效率并优化业务流程。华为云作为全球领先的云服务提供商,其强大的技术优势与高效的服务体系吸引了大量企业和代理商合作。在这种背景下,华为云国际站代理商注册及其服务监控系统成为了企业和代理商的核心关注点。本文将从华为云的优势出发,深入探讨华为云国际站代理商注册的流…

    2025年3月22日
    5900
  • 华为云国际站代理商:服务器端用c多么

    华为云国际站代理商:服务器端用C语言编程的优势与实践 在当今信息技术飞速发展的时代,服务器端编程在企业信息化建设中扮演着至关重要的角色。C语言作为一种历史悠久且高效的编程语言,在服务器端开发中依然占有重要地位。本文将以华为云为背景,探讨在服务器端使用C语言编程的优势及其在实际应用中的体现。 一、C语言在服务器端编程中的优势 1. 高效的性能表现 C语言以其接…

    2024年8月25日
    16000

发表回复

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

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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