归并排序-剑指offer
来源:互联网 发布:单片机发射红外遥控 编辑:程序博客网 时间:2024/04/28 16:25
算法:
分治法,先不断的二分,直到有序,第一次有序就是数组里只有一个数字。
然后递归合并数组,需要有辅助空间暂存合并后的数组,再更新原数组。
分:
void MergeSort(int a[],int first,int last,int temp[]){ if(first<last){ int mid = (first + last)/2; MergeSort(a,first,mid,temp); MergeSort(a,mid+1,last,temp); MergeArray(a,first,mid,last,temp); }}
合:
void MergeArray(int a[],int first,int mid,int last,int temp[]){ //第一个数组 int i = first;int m = mid; //第二个数组 int j = mid+1;int n = last; //结果数组 int k = 0; while(i<=m &&j<=n){ if(a[i]<a[j]) temp[k++] = a[i++]; else temp[k++] = a[j++]; } while(i<=m) temp[k++] = a[i++]; while(j<= n) temp[k++] = a[j++]; //更新排序后的原数组 for (int i = 0; i < k; i++) { a[i+first] = temp[i]; }}
0 0
- 剑指offer 归并排序
- 归并排序-剑指offer
- 剑指offer-归并排序
- 数组中的逆序对(归并排序+剑指offer)
- 剑指Offer——归并排序思想应用
- 剑指Offer--数组中的逆序对--归并排序!
- 码农小汪-剑指Offer之33 -数组中的逆序对 冒泡排序 归并排序
- 剑指offer之面试题36:数组中的逆序对-归并排序的应用
- 剑指offer——数组中的逆序数_____(归并排序)
- 剑指offer——数组中的逆序对(复习归并排序)
- 为了offer系列——归并排序(C++)
- 归并排序-归并排序
- 剑指offer中把数组排成最小数之归并排序实现(python 3.5.2)(附上归并和不开新数组的快排)
- 剑指Offer 36题 数组中的逆序对 Java版 这个和归并排序一起看 对比差别在哪
- 【剑指offer】快速排序
- 剑指offer--快速排序
- 剑指offer 快速排序
- 剑指offer 快速排序
- Android序列化:Serializable和Parcelable
- Platform Dependent Compilation
- iOS中respondsToSelector与conformsToProtocol的相关理解和使用
- Android View系统源码分析(五)—— View.onTouchEvent()默认执行方式
- 解决Bash On Ubuntu On Window安装Zsh无效问题附安装说明
- 归并排序-剑指offer
- HDOJ 3182 Hamburger Magi
- 在宇宙间不易被风吹散 —— 巨行星(木星、土星)
- VR、AR或者其他模式,只是未来拟真世界的不同功能,你可以据情转换
- 强引用,软引用,弱引用,虚引用
- CharSequence类型
- 讨论“get”和“post”安全性
- Android Support Library 学习入门
- 有容云:DevOps 的起点-入手微型数据中心(上)