排序算法 |
平均 |
最好 |
最坏 |
是否稳定 |
选择排序 |
- |
- |
- |
- |
冒泡排序 |
- |
- |
- |
- |
插入排序 |
- |
- |
- |
- |
梳排序 |
- |
- |
- |
- |
希尔排序 |
- |
- |
- |
- |
快速排序 |
- |
- |
- |
- |
归并排序 |
- |
- |
- |
- |
堆排序 |
- |
- |
- |
- |
计数排序 |
- |
- |
- |
- |
桶排序 |
- |
- |
- |
- |
二叉树排序 |
- |
- |
- |
- |
排序算法
选择排序
冒泡排序
插入排序
梳排序
public static int[] combSort(int[] a) {
int N = a.length;
int step = N;
int k;
while((step /= 1.3) > 1) {
for (int i = N-1; i >= step; i--) {
k = i -step;
if(a[k]>a[i]){
exc(a, k, i);
}
}
}
a= bubbleSort2(a);
return a;
}
希尔排序
public static int[] shellSort(int[] a){
int N = a.length;
int h = 1;
while(h < N/3){
h = h*3 + 1;
}
while(h>=1){
for (int i = h; i < N; i++) {
for (int j = i; j >= h && a[j-h]>a[j]; j -= h) {
exc(a, j, j-h);
}
}
h /= 3;
}
return a;
}
参考
https://www.cnblogs.com/xiaohuiduan/p/11188304.html