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 -
版权声明:本文标题:java合并排序算法代码 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/p/1712965204a614637.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论