【算法题】快速排序
来源:互联网 发布:php参考手册 编辑:程序博客网 时间:2024/05/20 05:54
int partition(int* array, int left, int right){ if (array==nullptr||left>=right) { return left; } int k = array[right]; int mid = left - 1; for (auto i = left; i < right;++i) { if (array[i]<k) { mid++; std::swap(array[i], array[mid]); } } mid++; std::swap(array[right], array[mid]); return mid;}void quicksort(int * array, int left, int right){ if (array == nullptr || left>=right) { return; } int k = partition(array, left, right); quicksort(array, left, k - 1); quicksort(array, k + 1, right);}int main(){ int array[5] {3, 2, 5, 1, 2}; quicksort(array, 0, 4); return 0;}
最坏时间复杂度:
最好时间复杂度:
平均时间复杂度:
最坏空间复杂度:栈深度:
最好空间复杂度:栈深度:
阅读全文
0 0
- 【算法题】快速排序
- 算法题(快速排序)
- 排序算法--快速排序
- 排序算法--快速排序
- 排序算法---快速排序
- 排序算法-快速排序
- 排序算法------快速排序
- 排序算法---快速排序
- 排序算法-快速排序
- 排序算法---快速排序
- 排序算法--快速排序
- 排序算法--快速排序
- 排序算法--快速排序
- 排序算法:快速排序
- 排序算法 快速排序
- 排序算法--快速排序
- 排序算法--快速排序
- 【排序算法】快速排序
- python 获取当前函数的 函数名 sys._getframe().f_code.co_name
- dbutils
- Emgu学习之(一)——Emgu介绍
- Z-function的构造与应用
- 发送有序广播
- 【算法题】快速排序
- Python+Selenium使用Page Object实现页面自动化测试
- python 获取当前 py 文件 的文件名 os.path.basename(sys.argv[0]).split(".")[0]
- Android中AIDL的基本用法
- 深入了解android平台的jni(二)
- 五大机器学习微信公众号推荐
- MemMap内存映射
- 20170602memo
- Android Studio出现Failed to open zip file问题的解决方法