Java归并排序
来源:互联网 发布:50 seo 编辑:程序博客网 时间:2024/05/01 11:48
import java.util.Comparator;import java.util.Random;public class MergeSort {public static void main(String[] args) {Integer[] a = new Integer[100];for (int i = 0; i < a.length; i++) {a[i] = new Random().nextInt(200);}MergeSort.mergeSort(a, new Integer[100], 0, a.length - 1,new Comparator<Integer>() {@Overridepublic int compare(Integer o1, Integer o2) {return o1 < o2 ? -1 : (o1 == o2 ? 0 : 1);}});for (int i = 0; i < a.length; i++) {System.out.print(a[i] + " ");}}public static <Elem> void mergeSort(Elem[] A, Elem[] temp, int left,int right, Comparator<? super Elem> c) {if (left == right)return;int mid = (left + right) / 2;mergeSort(A, temp, left, mid, c);mergeSort(A, temp, mid + 1, right, c);for (int i = left; i <= right; i++) {// copy subarray to temptemp[i] = A[i];}// Do the merge operation back to Aint i1 = left;int i2 = mid + 1;for (int curr = left; curr <= right; curr++) {if (i1 == mid + 1) {A[curr] = temp[i2++];} else if (i2 > right) {A[curr] = temp[i1++];} else if (c.compare(temp[i1], temp[i2]) < 0) {A[curr] = temp[i1++];} else {A[curr] = temp[i2++];}}}}
0 0
- java排序--归并排序
- 排序-归并排序-Java
- 归并排序Java实现
- java归并排序算法
- JAVA归并排序算法
- java归并排序
- java归并排序
- Java实现归并排序
- 归并排序(java)
- 25、JAVA归并排序
- java 归并排序
- java归并排序
- Java归并排序
- 归并排序 java
- Java实现归并排序
- 归并排序Java实现
- java 归并排序
- Java归并排序
- 百度地图开发 画路径
- 【LeetCode】Binary Tree Preorder &Inorder & Postorder Traversal
- 杭电1063
- 动态规划算法
- 6道2-SAT题 (模板)
- Java归并排序
- Java基础从入门到精通
- 用C#模拟 Java Bean (二)—— SqlPojo
- TextView属性大全
- EasyUI DataGrid getChecked 总是只返回一条数据
- poj 1088
- UIPageControl的使用
- CSS - 三角形
- 字符串的一些算法