admin 管理员组

文章数量: 1087135


2024年4月13日发(作者:php环境搭建实训总结)

java合并排序算法代码

Java合并排序算法是一种非常常见的排序算法,它基于分治思

想,将待排序数组分成两个子数组,分别对每个子数组进行排序,然

后将两个已经有序的子数组合并成一个有序的数组。

以下是Java合并排序算法的代码实现:

```

public class MergeSort {

/**

* 合并排序算法

* @param arr 待排序数组

* @param left 左边界

* @param right 右边界

*/

public void mergeSort(int[] arr, int left, int right) {

if (left < right) {

int mid = (left + right) / 2; // 找到中间点

mergeSort(arr, left, mid); // 对左半部分进行排序

mergeSort(arr, mid + 1, right); // 对右半部分进行排序

merge(arr, left, mid, right); // 合并两部分

}

}

/**

- 1 -

* 合并两个有序数组

* @param arr 待合并数组

* @param left 左边界

* @param mid 中间点

* @param right 右边界

*/

private void merge(int[] arr, int left, int mid, int right)

{

int[] temp = new int[right - left + 1]; // 临时数组

int i = left; // 左半部分起始位置

int j = mid + 1; // 右半部分起始位置

int k = 0; // 临时数组起始位置

while (i <= mid && j <= right) {

if (arr[i] < arr[j]) {

temp[k++] = arr[i++];

} else {

temp[k++] = arr[j++];

}

}

while (i <= mid) {

temp[k++] = arr[i++];

}

- 2 -

while (j <= right) {

temp[k++] = arr[j++];

}

for (int l = 0; l < ; l++) {

arr[left + l] = temp[l];

}

}

}

```

以上是Java合并排序算法的实现代码。在实际使用中,我们可

以通过调用`mergeSort`方法来对待排序数组进行排序。

- 3 -


本文标签: 排序 数组 合并 算法 代码