华为云国际站代理商充值: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服务器,可以按照以下步骤操作: 1. 准备文件 确保你已经准备好需要上传到FTP服务器的所有文件,这些文件可能包括注册表格、公司证明文件、业务信息等。 2. 获取FTP服务器信息 你需要获取以下信息,这些通常由你的FTP服务器提供方提供: FTP服务器地址(例如:ftp.example.com) 用户名 密码 …

    2024年7月25日
    36700
  • 华为云国际站代理商:服务器开设虚拟主机

    华为云国际站代理商:服务器开设虚拟主机 随着云计算技术的不断发展,越来越多的企业和个人选择将自己的业务迁移至云端,以便于提升业务的灵活性、可扩展性和管理效率。在众多云服务提供商中,华为云凭借其强大的技术实力和丰富的云产品生态,成为了全球领先的云计算品牌之一。本文将结合华为云服务器产品,从服务器开设虚拟主机的角度,分析华为云国际站代理商的优势及其适用场景。 一…

    2025年3月24日
    20000
  • 华为云国际站代理商注册:cdn功能优化

    华为云国际站代理商注册:CDN功能优化 随着互联网应用的不断发展,全球范围内的网络资源请求和数据传输量急剧上升,如何快速、稳定、安全地传输数据,已成为各大企业尤为关注的问题。为此,华为云推出了其全球领先的CDN(内容分发网络)解决方案,并针对国际市场不断优化,力求在全球范围内提供更为高效的网络加速服务。本文将深入探讨华为云CDN功能优化的优势,特别是在华为云…

    2024年11月28日
    27700
  • 华为云代理商:华为云汇款账号

    华为云代理商与华为云汇款账号:合作优势与流程解析 一、华为云的核心优势 1.1 技术领先的全栈云服务能力 华为云基于30年ICT技术积累,提供覆盖IaaS、PaaS、SaaS的全栈云服务,支持人工智能、大数据、物联网等前沿技术,其自研的鲲鹏芯片和昇腾AI处理器构建了高性能算力底座。 1.2 全球化布局与本地化服务 华为云在全球27个地理区域运营65个可用区,…

    2025年5月5日
    17000
  • 华为云代理商:华为云汇款账号

    华为云代理商与华为云汇款账号:合作优势与流程解析 一、华为云的核心优势 1.1 技术领先的全栈云服务能力 华为云基于30年ICT技术积累,提供覆盖IaaS、PaaS、SaaS的全栈云服务,支持人工智能、大数据、物联网等前沿技术,其自研的鲲鹏芯片和昇腾AI处理器构建了高性能算力底座。 1.2 全球化布局与本地化服务 华为云在全球27个地理区域运营65个可用区,…

    2025年5月5日
    16700

发表回复

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

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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