|
|
|
|
@ -1,5 +1,5 @@
|
|
|
|
|
# sort
|
|
|
|
|
//希尔排序
|
|
|
|
|
//1希尔排序
|
|
|
|
|
//时间复杂度平均:O(N^1.3)
|
|
|
|
|
//空间复杂度:O(1)
|
|
|
|
|
void ShellSort(int* arr, int n)
|
|
|
|
|
@ -31,7 +31,7 @@ void ShellSort(int* arr, int n)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//选择排序
|
|
|
|
|
//2选择排序
|
|
|
|
|
//空间复杂度:O(1)
|
|
|
|
|
//时间复杂度:最坏情况:O(N^2) 最好情况:O(N^2)
|
|
|
|
|
void swap(int* a, int* b)
|
|
|
|
|
@ -76,7 +76,7 @@ void SelectSort(int* arr, int n)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 鸡尾酒排序
|
|
|
|
|
// 3鸡尾酒排序
|
|
|
|
|
//时间复杂度:
|
|
|
|
|
(1)顺序排列时,鸡尾酒排序时间复杂度为O(n);
|
|
|
|
|
(2)逆序排序时,鸡尾酒排序时间复杂度为O(n^2);
|
|
|
|
|
|