直接插入排序/二分插入排序/希尔排序
2020-12-13 16:27
标签:直接 shellSort 数组 class 插入排序 swap nbsp || public ---恢复内容开始--- 插入排序是在源数据已经有序的情况下进行排序。时间复杂度O(N^2),稳定的 直接插入排序 代码如下 二分插入 前提也是原数组是有序的 希尔排序 不再是固定的二分,分段数d在不断的缩小,直到为1 直接插入排序/二分插入排序/希尔排序 标签:直接 shellSort 数组 class 插入排序 swap nbsp || public 原文地址:https://www.cnblogs.com/bowenqianngzhibushiwo/p/11619895.htmlpublic static int[] insertSort(int [] a){
if(a==null||a.length==0){
return a;}
for(int i=1;i
return a;
}public static int[] subInser(int a[]) {
for (int i = 1; i ) {
int temp = a[i];
int low = 0, high = i - 1;
int mid = -1;
while (low high) {
mid = low + (high - low) / 2;
if (a[mid] > temp) {
high = mid - 1;
} else { // 元素相同时,也插入在后面的位置
low = mid + 1;
}
}
for (int j = i - 1; j >= low; j--) {
a[j + 1] = a[j];
}
a[low] = temp;
}
return a;
}
1 public static int[] shellsort(int [] a){
2 int d=a.length/2;
3 int tmp;
4 while(d>0){
5 for(int i=d;i
上一篇:P1908 逆序对-(树状数组)