快速排序
来源:互联网 发布:网络棋牌游戏赚钱吗 编辑:程序博客网 时间:2024/06/06 15:48
void quickSort(int arr[], int low, int high)
{
if (low < high)
{
int left = low;
int right = high;
int x = arr[low];
while (low < high)//完成一次排序、j和i指向同一位置
{
while (low < high && arr[high]> x)// 从右向左找第一个小于x的数
{
high--;
}
if (low < high)
{
arr[low] = arr[high];
low++;
}
while (low <high && arr[low] < x)// 从左向右找第一个大于等于x的数
{
low++;
}
if (low <high)
{
arr[high] = arr[low];
high--;
}
}
arr[low] = x;
quickSort(arr, left, low - 1);// 递归调用
quickSort(arr, low + 1, right);
}
{
if (low < high)
{
int left = low;
int right = high;
int x = arr[low];
while (low < high)//完成一次排序、j和i指向同一位置
{
while (low < high && arr[high]> x)// 从右向左找第一个小于x的数
{
high--;
}
if (low < high)
{
arr[low] = arr[high];
low++;
}
while (low <high && arr[low] < x)// 从左向右找第一个大于等于x的数
{
low++;
}
if (low <high)
{
arr[high] = arr[low];
high--;
}
}
arr[low] = x;
quickSort(arr, left, low - 1);// 递归调用
quickSort(arr, low + 1, right);
}
}
参考自:http://blog.csdn.net/morewindows/article/details/6684558
http://www.cnblogs.com/luchen927/archive/2012/02/29/2368070.html
0 0
- 快速排序
- 快速排序
- 快速排序
- 快速排序!
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 获取系统信息
- 简单写写二叉树的添加功能,中序遍历,最小值和查询功能
- 02-算法的乐趣-阿拉伯数字与中文数字转换算法
- OJ HDU_2502_月之数
- NoSQL Manager for MongoDB 破解
- 快速排序
- 立即停止Android Studio 编译
- DNS劫持
- tomcat6关于el表达式的一大坑!
- Java虚拟机2
- VUE:跨域设置
- 拷贝asserts资源目录下的文件
- 1 2Sum 【分析总结,归类记忆】
- LeetCode 344. Reverse String