c++ 逆序对

2020-12-13 03:58

阅读:362

标签:turn   png   img   oid   元素   bit   info   cout   lse   

c++ 求逆序对

例如数组(3,1,4,5,2)的逆序对有(3,1)(3,2)(4,2)(5,2)共4个
逆序对就是左边的元素比右边的大,那么左边的元素和右边的元素就能产生逆序对
代码跟归并排序差不多

代码

#include 
using namespace std;
int a[100];
int r[100];
int ans = 0;
void sort(int s,int t)
{
    if (s == t)
        return ;
    else
    {
        int mid = (s + t) / 2;
        sort(s,mid);//排序mid前面部分
        sort(mid + 1,t);//排序好mid后面部分
        int i = s,j = mid + 1,k = s;
        while (i > n;
    for (int i = 1;i > a[i];
    }
    sort(1,n);
    cout 

理解

对于ans = ans + mid - i + 1这个公式,我是这么理解的

技术图片

c++ 逆序对

标签:turn   png   img   oid   元素   bit   info   cout   lse   

原文地址:https://www.cnblogs.com/LJA001162/p/11099792.html


评论


亲,登录后才可以留言!