以下各种排序算法是我自己跟着算法描述写的(有参考其他人的),直接贴到VS里就能用,如果要看懂的话还是需要了解一下各种排序算法的实现原理
先随手总结一下各种排序的时间复杂度以及稳定性
排序算法 |
时间复杂度 |
辅助空间 |
稳定性 |
冒泡排序(交换排序类) |
O(n^2) |
O(1) |
稳定 |
桶排序 |
O(n+m) |
|
|
直接插入排序(插入排序类) |
O(n^2) |
O(1) |
稳定 |
希尔排序(插入排序类) |
O(nlogn)~O(n^2) |
O(1) |
不稳定 |
快速排序(交换排序类) |
最差O(n^2),平均为O(nlogn) |