归并排序
2021-05-19 15:30
标签:style 辅助 ext oid 合并算法 font else 递归 数组 原创 先来看将两个有序数组合并成一个有序数组是如何操作的; 设有序数组为a和b,结果数组c; 归并排序的思想用的是分治法,假设待排序数组为array[n],再新建一个辅助数组array1[n]。 通过不断的将数组array进行递归折半(int mid=(left+right)/2),最后rihgt==left,将元素array[left]放入辅助数组array1中; 递归回来,递归进去(mid+1,right),最后left==right,再将元素array[left]放入辅助数组array1中; 此时辅助数组有两个元素,用上面的合并算法合并到array中完成一个2路归并,再递归回来排序右边的。。。 15:56:29 2018-10-04 归并排序 标签:style 辅助 ext oid 合并算法 font else 递归 数组 原文地址:https://www.cnblogs.com/chiweiming/p/9742411.html
int k=0;
while(i){
if(a[i]b[j]) {
c[k++]=a[i++];
}
else {
c[k++]=b[j++];
}
}
while(i) {
c[k++]=a[i++];
}
while(j) {
c[k++]=b[j++];
}
import java.util.*;
public class 归并排序 {
static void Merge(int array[],int array1[],int s,int m,int t) { //合并两个已排序好的子序列
int i=s;
int j=m+1;
int k=s;
while(it) {
if(array[i]
下一篇:C语言------函数