虎
点击蓝字 关注我们
年
SPRING FESTIVAL
归并排序属于分治算法;
分治法在每一层递归上都有三个步骤:
step1 分解:将原问题分解为若干个规模较小,相互独立,与原问题形式相同的子问题;
step2 解决:若子问题规模较小而容易被解决则直接解,否则递归地解各个子问题;
step3 合并:将各个子问题的解合并为原问题的解;
void mergeSort(int q[], int l, int r)
{
//递归终止的条件
if(l >= r) return;
//第一步:分解成子问题
int mid = l + r >> 1;
//第二步:递归处理子问题
merge_sort(q, l, mid ), merge_sort(q, mid + 1, r);
//第三步:合并子问题
int k = 0, i = l, j = mid + 1, tmp[r - l + 1];
while(i <= mid && j <= r)
if(q[i] <= q[j]) tmp[k++] = q[i++];
else tmp[k++] = q[j++];
while(i <= mid) tmp[k++] = q[i++];
while(j <= r) tmp[k++] = q[j++];
for(k = 0, i = l; i <= r; k++, i++) q[i] = tmp[k];
}
复制
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//创建数组并设置数组长度
int n = Integer.parseInt(br.readLine());
int[] arr = new int[n];
//输入数组元素
String[] ss = br.readLine().split(" ");
for (int i = 0; i < arr.length; i++) {
arr[i] = Integer.parseInt(ss[i]);
}
merge_sort(arr, 0, n - 1);
for (int i = 0;i<arr.length;i++){
System.out.print(arr[i] + " ");
}
}
//归并排序模板
private static void merge_sort(int[] q, int l, int r) {
if (l >= r) return;
int temp[] = new int[r - l + 1], k = 0;
//1.中间点
int mid = l + r >> 1;
//2.递归排序左右两段
merge_sort(q, l, mid);
merge_sort(q, mid + 1,r);
//3.合并子问题
int i = l, j = mid + 1;
while (i <= mid && j <= r) {
if (q[i] <= q[j]) {
temp[k++] = q[i++];
} else {
temp[k++] = q[j++];
}
}
while (i <= mid) {
temp[k++] = q[i++];
}
while (j <= r) {
temp[k++] = q[j++];
}
for (int m = l,x = 0;m<=r;m++,x++){
q[m] = temp[x];
}
}
}
复制
CoderDuanGe
公众号:段舸
关注
你“在看”我吗?

文章转载自段舸有话讲,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【专家观点】罗敏:从理论到真实SQL,感受DeepSeek如何做性能优化
墨天轮编辑部
1250次阅读
2025-03-06 16:45:38
【专家有话说第五期】在不同年龄段,DBA应该怎样规划自己的职业发展?
墨天轮编辑部
1240次阅读
2025-03-13 11:40:53
2025年2月国产数据库大事记
墨天轮编辑部
969次阅读
2025-03-05 12:27:34
2025年2月国产数据库中标情况一览:GoldenDB 3500+万!达梦近千万!
通讯员
861次阅读
2025-03-06 11:40:20
2月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
444次阅读
2025-03-13 14:38:19
AI的优化能力,取决于你问问题的能力!
潇湘秦
411次阅读
2025-03-11 11:18:22
优炫数据库成功应用于国家电投集团青海海南州新能源电厂!
优炫软件
337次阅读
2025-03-21 10:34:08
达梦数据与法本信息签署战略合作协议
达梦数据
283次阅读
2025-03-06 09:26:57
国产化+性能王炸!这套国产方案让 3.5T 数据 5 小时“无感搬家”
YMatrix
270次阅读
2025-03-13 09:51:26
磐维数据库对外门户全新升级!
磐维数据库
234次阅读
2025-03-04 15:32:59