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

相关推荐

  • 华为云代理商:c读取数据库中图片

    要从数据库中读取图片,首先需要确定数据库类型和存储图片的方式。下面是一个简单的例子,演示如何使用Python和MySQL读取数据库中的图片并显示出来。这个例子假设图片是以二进制数据(BLOB)形式存储在MySQL数据库中。 安装必要的库: pip install mysql-connector-python pillow 编写Python代码读取并显示图片:…

    华为云 2024年7月16日
    15600
  • 华为云国际站代理商:cdn反向代理保护网站ip代理

    华为云国际站代理商:CDN反向代理保护网站IP代理 随着互联网技术的飞速发展,越来越多的企业开始意识到网站安全的重要性。在全球化的背景下,保护网站的IP地址不被恶意攻击者直接访问,已成为确保企业网络安全的关键。而在这一过程中,利用CDN反向代理技术成为了一种高效的解决方案。本文将重点探讨华为云国际站代理商如何通过CDN反向代理为网站提供IP代理保护,详细分析…

    华为云 2024年11月12日
    9900
  • 华为云国际站代理商充值:cdn注册链接

    华为云国际站代理商充值:CDN注册链接 在当今信息技术快速发展的时代,云计算已经成为企业数字化转型的重要推动力。华为云作为全球领先的云服务提供商之一,其强大的云基础设施和广泛的服务产品使其在全球云市场中占据了重要位置。为了便于全球用户使用华为云产品,特别是内容分发网络(CDN)服务,华为云国际站代理商提供了一种简便的充值方式,通过CDN注册链接,用户能够轻松…

    华为云 2024年12月13日
    5800
  • 华为云国际站代理商充值:服务器工具

    华为云国际站代理商充值的具体步骤和工具使用方法: 注册和登录: 访问华为云国际站官网(https://intl.huaweicloud.com/)。 如果还没有账户,需要先注册一个账户。 登录到您的账户。 成为代理商: 在华为云官网的代理商页面查找相关信息,了解如何申请成为代理商。 提交相关申请资料,通过审核后即可成为代理商。 充值: 登录到您的代理商账户。…

    华为云 2024年7月16日
    14900
  • 华为云国际站代理商注册:常州 网站建设

    华为云国际站代理商注册:常州网站建设 随着互联网的发展,企业网站的建设已经成为了每个现代企业的必备组成部分。而在全球云计算产业飞速发展的今天,选择合适的云平台来托管网站和应用已变得至关重要。华为云作为全球领先的云计算服务提供商,凭借其强大的技术优势和丰富的云服务产品,成为了众多企业和开发者的首选。对于常州的企业和开发者来说,成为华为云国际站的代理商,不仅能够…

    2025年3月22日
    1900

发表回复

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

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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