快速排序C++实现
来源:互联网 发布:赛诺手机数据是啥 编辑:程序博客网 时间:2024/06/06 13:12
快速排序采用分治递归法,将问题分解为一个个小的问题,再递归求之。
大致思想为:
首先对于一个区间L,R,找到一个元素p,将所有大于p的元素全部移动到p的右边,所有小于p的元素全部移动到p的左边,这样就大致将顺序整理了一下,然后对于p左边的区间L1,R1,递归上述方法,右区间同理。
#include <cstdio>using namespace std;void QuickSort(int *arrs, int l, int r){ if(l >= r) return; int L = l, R = r; int key = arrs[l]; while(l < r){ while(l < r && key < arrs[r]){ r--; } arrs[l] = arrs[r]; while(l < r && key > arrs[l]){ l++; } arrs[r] = arrs[l]; } arrs[l] = key; QuickSort(arrs, L, l - 1); QuickSort(arrs, l + 1, R);}int main(){ int arrs[] = {9, 8, 2, 1, 0, 6, 3}; int len = sizeof(arrs) / sizeof(int); QuickSort(arrs, 0, len-1); for(int i = 0; i < len; i++) printf("%d ", arrs[i]); printf("\n"); return 0;}
0 0
- 快速排序c实现
- 快速排序C实现
- 快速排序C实现
- 快速排序C实现
- 快速排序(C实现
- 快速排序 C语言实现
- 快速排序C语言实现
- 快速排序算法(c#)实现
- c语言实现快速排序
- C/C++实现快速排序
- C语言实现快速排序
- 快速排序实现(C语言)
- 快速排序C语言实现
- Xcode(C++) 快速排序实现
- C语言实现快速排序
- 快速排序C语言实现
- 快速排序C语言实现
- C语言实现快速排序
- UVA 10917(p330)----Walk through the Forest
- 回文自动机学习小记
- 方法重写以及与方法重载的却别,super和this关键字的区别
- 4. PHP 操作 memcache(1)
- CodeForces - 630Q Pyramids (数学几何&公式)
- 快速排序C++实现
- tcp校验和
- C++ 学习之路(1):拷贝构造函数
- 二进制整数的倒序
- 打开整个系统的隐藏文件
- 快乐的JYY
- HDOJ 3555 Bomb
- IDL接口描述语言和COM接口COM组件
- play 部署问题 play.exceptions.TemplateExecutionException: No signature of method: java.lang.String.f