插入排序的实现 实现逻辑
实现代码
public void insetSort(int[] arr){
for (int i = 1; i < arr.length; i++) {
int j = i-1;
int temp = arr[i];
for(;j>=0;j--){
if(arr[j]>temp){
arr[j+1] = arr[j];
}else {
arr[j+1] = temp;
break;
}
}
arr[j+1] = temp;
}
return;
}
希尔排序 逻辑原理:
实现代码 :
int gap = arr.length;
while(gap > 1){
gap /= 2;
shall(arr,gap);
}
}
public void shall(int[] arr,int gap){
for (int i = gap; i < arr.length; i++) {
int j = i - gap;
int temp = arr[i];
for(; j >= 0;j -= gap){
if(arr[j]>temp){
arr[j+gap] = arr[j];
}else {
arr[j+gap] = temp;
break;
}
}
arr[j+gap] = temp;
}
}
}
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。