归并排序
来源:互联网 发布:淘宝水滴工具箱 编辑:程序博客网 时间:2024/06/14 10:25
public class MergeSort { private long[] arr; private int size; private int index; public MergeSort(){} public MergeSort(int size){ this.size = size; this.arr = new long[size]; } public void insert(long val){ if(this.index < this.size) this.arr[this.index++] = val; else System.out.println("Array already full! value:"+val); } public void mergeSort1(){ long[] temp = new long[this.size]; this.recMergeSort(temp,0,this.size-1); } public void recMergeSort(long[] arr,int low,int high){ if(low == high){ return; }else{ int mid = (low+high)/2; this.recMergeSort(arr, low, mid); this.recMergeSort(arr, mid+1, high); this.merge(arr, low, mid+1, high); } } public void merge(long[] arr,int low,int high,int upperBound){ int current = 0; int lowerIndex = low; int middleIndex = high-1; int n = upperBound-low+1; while(low <= middleIndex && high <= upperBound){ if(this.arr[low] < this.arr[high]){ arr[current++] = this.arr[low++]; }else{ arr[current++] = this.arr[high++]; } } while(low <= middleIndex){ arr[current++] = this.arr[low++]; } while(high <= upperBound){ arr[current++] = this.arr[high++]; } for(current=0; current<n; current++){ this.arr[lowerIndex+current] = arr[current]; } } public void display(){ for(long l : this.arr){ System.out.print(l+" "); } System.out.println(""); } public static void main(String[] args){ MergeSort ms = new MergeSort(12); ms.insert(11); ms.insert(23); ms.insert(55); ms.insert(1); ms.insert(8); ms.insert(12); ms.insert(54); ms.insert(66); ms.insert(85); ms.insert(39); ms.insert(391); ms.insert(139); ms.display(); System.out.println(""); ms.mergeSort1(); ms.display(); }}
0 0
- 归并排序-归并排序
- 归并和归并排序
- 归并与归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 排序::归并
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- Intent和IntentFilter详解
- FCIP详解
- “黑马程序员” 用Java打印出九九乘法表
- 分数拆分
- 关于web的自学
- 归并排序
- Linux下安装JDK
- 解决矢量地图与卫星地图叠加有偏移的两种方法
- 嵌入式linux系统中移植SSH
- SQL入门(二)——奇怪的数值,微妙的差别
- NSString与int和float的相互转换
- Box2D引擎实现割绳子物理部分的方法
- python 解析输入的选项和参数
- Oracle Dataguard 介绍