|
6 | 6 | * @author MistRay
|
7 | 7 | * @create 2018年11月20日
|
8 | 8 | * @desc 归并排序
|
| 9 | + * 第一步:申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列 |
| 10 | + * 第二步:设定两个指针,最初位置分别为两个已经排序序列的起始位置 |
| 11 | + * 第三步:比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指针到下一位置 |
| 12 | + * 重复步骤3直到某一指针超出序列尾 |
| 13 | + * 将另一序列剩下的所有元素直接复制到合并序列尾 |
9 | 14 | */
|
10 | 15 | public class MergeSort {
|
11 | 16 |
|
12 | 17 | public static void main(String[] args) {
|
13 | | - int[] array = {35, 24, 86, 12, 95, 58, 35, 42, 21, 73}; |
| 18 | + int[] array = {35, 24, 86, 12, 95, 58, 35, 42, 21, 73}; |
14 | 19 | sort(array, 0, array.length - 1);
|
15 | 20 | System.out.println(Arrays.toString(array));
|
16 | 21 | }
|
17 | 22 |
|
18 | | - public static void sort(int[] array, int start, int end){ |
19 | | - if (start >= end){ |
| 23 | + public static void sort(int[] array, int start, int end){ |
| 24 | + if (start >= end){ |
20 | 25 | return;
|
21 | 26 | }
|
22 | 27 |
|
|
0 commit comments