zoukankan      html  css  js  c++  java
  • 自下而上归并排序 数组实现

    void mergeSort(int a[], int len)
    {
        int *temp = new int[len];
        int gap = 1;
        while (gap < len) {
            for (int i = 0; i < len; i += gap * 2)
            {
                int mid = i + gap > len - 1 ? len : i + gap;
                int end = mid + gap > len - 1 ? len : mid + gap;
                int j = i;
                int k = mid;
                int cur = i;
                while (j != mid && k != end)
                {
                    if (a[j] < a[k])
                        temp[cur++] = a[j++];
                    else
                        temp[cur++] = a[k++];
                }
                while (j != mid)
                    temp[cur++] = a[j++];
                while (k != end)
                    temp[cur++] = a[k++];
            }    
            for (int i = 0; i < len; ++i)
                a[i] = temp[i];
            gap = gap << 1;
        }    
        delete[] temp;
    }
  • 相关阅读:
    存储过程
    sdsdsd
    sdsdd
    sdsd
    sdasd
    mysql触发
    c#连接mysql答题步骤
    c#mysql数据库
    nginx
    linux如何查看端口被何进程占用
  • 原文地址:https://www.cnblogs.com/sdlwlxf/p/5113258.html
Copyright © 2011-2022 走看看