zoukankan      html  css  js  c++  java
  • 排序 归并排序&逆序对

    void MergeArray(int cry[],int temp[],int begin,int middle,int end)
    {
        int i=begin;
        int j=middle+1;
        int k=i;
        while(i<=middle&&j<=end)
        {
             if(cry[i]<=cry[j])
             {
                 temp[k]=cry[i];
                 i++;
             }
             else
             {
                 std::cout<<"["<<i<<","<<j<<"]:"<<cry[i]<<" "<<cry[j]<<endl;
                 temp[k]=cry[j];
                 j++;
             }
             k++;
        }
        while(i<=middle)
        { temp[k]=cry[i];
            i++;
            k++;
        }
        while(j<=end)
        {
            temp[k]=cry[j];
            k++;
            j++;
        }
        for(int m=begin;m<=end;++m)
            cry[m]=temp[m];
    }
    void Merge(int cry[],int temp[] ,int begin,int end)
    {
        if(begin<end)
        {
            int middle=(begin+end)/2;
            Merge(cry,temp,begin,middle);
            Merge(cry,temp,middle+1,end);
            MergeArray(cry,temp,begin,middle,end);
        }
    }
    void MergeSort(int cry[],int N)
    {
       int* temp=new int[N]();
       Merge(cry,temp,0,N-1);
       delete[]temp;
    }
    
    学习技术不只是为养家糊口,也为夜深人静的时候能够一个人静静享受这其中的乐趣。
  • 相关阅读:
    phpMyAdmin 尝试连接到 MySQL 服务器,但服务器拒绝连接 解决办法
    MySQL意外关闭, 导致软件崩溃而无法启动的解决办法
    !function 笔记
    C++中四种类型转换方式
    SpringCloud面试题及答案
    Spring Boot面试题
    javaWeb常用面试题
    mysql行转列 问题 SUM(IF(条件,列值,0))
    mysql行列转换
    C++面试常见题
  • 原文地址:https://www.cnblogs.com/renxs/p/3161816.html
Copyright © 2011-2022 走看看