使用java语言写一个归并排序
时间: 2023-09-11 17:07:24 浏览: 31
好的,以下是Java语言实现归并排序的代码示例:
```
public class MergeSort {
public static void mergeSort(int[] array) {
if (array == null || array.length <= 1) {
return;
}
int[] temp = new int[array.length];
sort(array, 0, array.length - 1, temp);
}
private static void sort(int[] array, int left, int right, int[] temp) {
if (left >= right) {
return;
}
int middle = left + (right - left) / 2;
sort(array, left, middle, temp);
sort(array, middle + 1, right, temp);
merge(array, left, middle, right, temp);
}
private static void merge(int[] array, int left, int middle, int right, int[] temp) {
int i = left, j = middle + 1, k = left;
while (i <= middle && j <= right) {
if (array[i] < array[j]) {
temp[k++] = array[i++];
} else {
temp[k++] = array[j++];
}
}
while (i <= middle) {
temp[k++] = array[i++];
}
while (j <= right) {
temp[k++] = array[j++];
}
for (int m = left; m <= right; m++) {
array[m] = temp[m];
}
}
}
```
希望可以帮到你!请问还有其他问题吗?