zoukankan      html  css  js  c++  java
  • 归并排序模版

    ******归并排序复杂度n(logn)他的复杂度不会退化哦*.*

     1 #include<cstdio>
     2 #include<cstring>
     3 #include<algorithm>
     4 #include<cmath>
     5 using namespace std;
     6 void Merge(int A[],int low,int middle,int high)
     7 {
     8     int i,j,k;
     9     int *B = new int[high - low + 1];
    10     i = low;
    11     j = middle + 1;
    12     k = low;
    13     while(i <= middle && j <= high) //两个子序列非空
    14     {
    15         if(A[i] <= A[j]) 
    16             B[k++] = A[i++];
    17         else
    18             B[k++] = A[j++];
    19     }
    20     while(i <= middle)
    21     {
    22         B[k++] = A[i++];
    23     }
    24     while(j <= high)
    25     {
    26         B[k++] = A[j++];
    27     }
    28     for(i = low;i <= high;i++)
    29     {
    30         A[i] = B[i];
    31     }
    32 }
    33 void MergeSort(int A[],int low,int high)
    34 {
    35     int middle;
    36     if(low < high)
    37     {
    38         middle = (low + high) / 2; //取中点 
    39         MergeSort(A,low,middle);
    40         MergeSort(A,middle + 1,high);
    41         Merge(A,low,middle,high); //合并 
    42     }
    43 }
    44 int main()
    45 {
    46     int i,j,m,n,c[1005];
    47     scanf("%d",&n);
    48     for(i = 1;i <= n;i++)
    49     {
    50         scanf("%d",&c[i]);
    51      } 
    52      MergeSort(c,1,n);
    53      for(i = 1;i <= n;i++)
    54      {
    55          printf("%d",c[i]);
    56      }
    57      return 0;
    58 }

     

  • 相关阅读:
    opengl一些基础函数-- 缓冲区
    width = 100%??
    设置scrollTop无效
    es5与es6继承区别
    immutable-treeUtils树的理解
    react 事件绑定
    es-6 class
    es6-Module语法
    es6--set数组去重,Map数据结构
    promise对象
  • 原文地址:https://www.cnblogs.com/rax-/p/9831254.html
Copyright © 2011-2022 走看看