zoukankan      html  css  js  c++  java
  • C实现归并排序

    先放代码

    #include<stdio.h>
    

    void printList(int arr[], int len) {
    int i;
    for (i = 0; i < len; i++) {
    printf(
    "%d", arr[i]);
    }
    }
    void merge(int arr[], int start, int mid, int end) {
    int result[end+1];
    int k = 0;
    int i = start;
    int j = mid + 1;
    while (i <= mid && j <= end) {
    if (arr[i] < arr[j]){
    result[k
    ++] = arr[i++];
    }
    else{
    result[k
    ++] = arr[j++];
    }
    }
    if (i == mid + 1) {
    while(j <= end)
    result[k
    ++] = arr[j++];
    }
    if (j == end + 1) {
    while (i <= mid)
    result[k
    ++] = arr[i++];
    }
    for (j = 0, i = start ; j < k; i++, j++) {
    arr[i]
    = result[j];
    }
    }

    void mergeSort(int arr[], int start, int end) {
    if (start >= end)
    return;
    int mid = ( start + end ) / 2;
    mergeSort(arr, start, mid);
    mergeSort(arr, mid
    + 1, end);
    merge(arr, start, mid, end);
    }

    int main()
    {
    int n;
    scanf(
    "%d",&n);
    int a[n];
    for(int i = 0;i<n;i++)
    scanf(
    "%d ",&a[i]);
    mergeSort(a,
    0, n-1);
    printList(a, n);
    return 0;
    }

  • 相关阅读:
    CF1056G
    mysql xtrabackup 备份恢复
    linux yum源配置
    mysql 第24章 优化
    mysql 第23章 监控
    mysql 第22章 高可用MMM、MHA
    mysql 第21章 集群
    mysql 第20章 复制
    mysql 第19章 备份恢复
    mysql 第18章 导入导出
  • 原文地址:https://www.cnblogs.com/tqdlb/p/15671207.html
Copyright © 2011-2022 走看看