排序算法总结(三)逆序对
来源:互联网 发布:js判断正则表达式 编辑:程序博客网 时间:2024/04/30 19:58
求数组中的逆序对
#include<iostream>using namespace std;int MergeArray(int r[],int s,int m,int e,int temp[]){int i=m,j=e,count=0,k=0;while(i>=s&&j>=m+1){if (r[i]>r[j]){temp[k]=r[i];k++;count=count+(j-m);i--;}else if (r[i]<=r[j]){temp[k]=r[j];k++;j--;}}while(i>=s)//表示前半段数组中还有元素未放入临时数组 { temp[k++]=r[i--]; } while(j>m) { temp[k++]=r[j--]; }for(int z=0;z<k;z++){r[e-z]=temp[z];}return count;}int Nixudui(int r[],int s,int e,int temp[]){int count=0;if(s<e){//递归的界限int m=(s+e)/2;count+=Nixudui(r,s,m,temp);count+=Nixudui(r,m+1,e,temp);count+=MergeArray(r,s,m,e,temp);}return count;}void main(){int A[4]={7,5,6,4};int *temp=new int[4];int rs;rs=Nixudui(A,0,3,temp);delete[] temp;cout<<rs<<endl;system("pause");}
0 0
- 排序算法总结(三)逆序对
- 【算法】归并排序(可求逆序数或逆序对)
- 排序算法总结(三)
- 排序算法总结(三)
- 排序算法总结(三)
- 排序算法总结(三)
- 排序算法总结(三)
- 分治算法之排序和逆序对
- 逆序对 (归并排序)
- 排序算法总结(三)插入排序
- 对数据结构和算法的总结和思考(三)--希尔排序
- 常用排序算法总结(三)----选择排序 堆排序
- 数据结构-各类排序算法总结(三)
- 笔记1--逆序对(归并排序)
- POJ 2299 逆序对(归并排序)
- 数组中的逆序对(归并排序)
- 求逆序数对(归并排序)
- 求逆序对(归并排序)
- awk是命令还是编程语言
- 隐藏导航条底部的黑线(shadowImage)四种办法
- iptables 1.4.10 移植编译
- java 的继承原理
- Objective-C基础-——核心语法-description和sel
- 排序算法总结(三)逆序对
- WPF中自定义的DataTemplate中的控件,在Window_Loaded事件中加载机制初探
- javascript学习:访问文件夹及文件
- script 加载
- 理解什么是委托、事件、Lambad表达式,从回调说起!
- 程序人生--侯捷
- JUnit测试
- 滁州学院首页获取新闻列表
- c简单实现日志记录