zoukankan      html  css  js  c++  java
  • 排序算法归并排序(递归)

    归并排序(递归)

    void MergeSort(int *A, int n){
      if(n == 1){
        return ;
      }
      int *C = new int[n];
      int l1 = n/2;
      int l2 = n-l1;
      MergeSort(A, l1);
      MergeSort(&A[l1], l2);
      for(int i = 0, j = l1, k = 0; k < n;){
        while(i!=l1 && j != n){
          if(A[i]<A[j]){
            C[k] = A[i];
    	k++;
            i++;
          }else{
            C[k] = A[j];
            j++;
    	k++;
          }
        }
        if(i == l1){
          C[k] = A[j];
          j++;
          k++;
        }else if(j == n){
          C[k] = A[i];
          i++;
          k++;
        }    
      }
      memcpy(A, C, sizeof(int)*n);  
      delete[] C;
      return ;
    }
    

     

  • 相关阅读:
    移动端注意
    每日日报
    每日日报
    每日日报
    每日日报
    每日日报
    每日日报
    每日日报
    每日日报
    每日日报
  • 原文地址:https://www.cnblogs.com/suiyu/p/2955866.html
Copyright © 2011-2022 走看看