永发信息网

最高端的宝马编程软件

答案:1  悬赏:70  手机版
解决时间 2021-03-04 20:27
最高端的宝马编程软件
最佳答案
package algorithm;
public class MergeSort {
// private static long sum = 0;

private static void merge(int[] a, int s, int m, int t) {
int[] tmp = new int[t - s + 1];
int i = s, j = m, k = 0;
while (i < m && j <= t) {
if (a[i] <= a[j]) {
tmp[k] = a[i];
k++;
i++;
} else {
tmp[k] = a[j];
j++;
k++;
}
}
while (i < m) {
tmp[k] = a[i];
i++;
k++;
}
while (j <= t) {
tmp[k] = a[j];
j++;
k++;
}
System.arraycopy(tmp, 0, a, s, tmp.length);
}

public static void mergeSort(int[] a, int s, int len) {
int size = a.length;
int mid = size / (len << 1);
int c = size & ((len << 1) - 1);
// -------归并到只剩一个有序集合的时候结束算法-------//
if (mid == 0)
return;
// ------进行一趟归并排序-------//
for (int i = 0; i < mid; ++i) {
s = i * 2 * len;
merge(a, s, s + len, (len << 1) + s - 1);
}
// -------将剩下的数和倒数一个有序集合归并-------//
if (c != 0)
merge(a, size - c - 2 * len, size - c, size - 1);
// -------递归执行下一趟归并排序------//
mergeSort(a, 0, 2 * len);
}
public static void main(String[] args) {
int[] a = new int[] { 4, 3, 6, 1, 2, 5 };
mergeSort(a, 0, 1);
for (int i = 0; i < a.length; ++i) {
System.out.print(a[i] + " ");
}
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
福彩3d预测有什么好的方法或技巧吗大神们帮帮
电压互感器次级线圈对地绝缘电阻多大
在一幅等高距为h的地形图中,下列哪项正确?(
九阴真经4内神秘人任务谁会过?求带。。。
我的日本名字怎么读
永田水暖建材这个地址在什么地方,我要处理点
玉米茎杆细胞中最重要的二糖和多糖分别是D①
忻州地方铁路局伤残工人工资包含什么
新协力二手车交易中心在什么地方啊,我要过去
"居庙堂之高则忧其民"中的庙堂是什么意思?
密度的单位由什么单位和什么单位组成
怎么去南昌的南京西路 永溪大厦 555号?做什
请求更换律师申请怎么写
支票存到银行个人帐户?
月潭·半山洋房在什么地方啊,我要过去处理事
推荐资讯
上海推出首批出租车一共多少辆
颈动脉的位置,附图片,谢谢。
华为畅玩5x返回键可以设置到右边吗
DNF60级狂战穿什么套装刷图
suddenly remind
货运打板什么意思
锤子手机里其他选项是什么
我的硕士论文打算开发一个系统,但不一定能成
如何快速练出胸肌??
从海阳去武夷山怎么走
怎么在粉粉日记里发表话题?谢谢
汽车年审标签丢了,补办需要交钱吗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?