Java 快速排序 快排
来源:互联网 发布:哪个购物软件物美价廉 编辑:程序博客网 时间:2024/05/06 09:26
1、算法概念。
2、算法思想。
通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。
3、实现思路。
①以第一个关键字 K 1 为控制字,将 [K 1 ,K 2 ,…,K n ] 分成两个子区,使左区所有关键字小于等于 K 1 ,右区所有关键字大于等于 K 1 ,最后控制字居两个子区中间的适当位置。在子区内数据尚处于无序状态。
②把左区作为一个整体,用①的步骤进行处理,右区进行相同的处理。(即递归)
③重复第①、②步,直到左区处理完毕。
//快速排序
void quick_sort(int s[], int l, int r)
{
if (l < r)
{
//Swap(s[l], s[(l + r) / 2]); //将中间的这个数和第一个数交换
int i = l, j = r, x = s[l];
while (i < j)
{
while(i < j && s[j] >= x) // 从右向左找第一个小于x的数
j--;
if(i < j)
s[i++] = s[j];
while(i < j && s[i] < x) // 从左向右找第一个大于等于x的数
i++;
if(i < j)
s[j--] = s[i];
}
s[i] = x;
quick_sort(s, l, i - 1); // 递归调用
quick_sort(s, i + 1, r);
}
}
- Java 快速排序 快排
- java快速排序(快排)算法Quicksort
- 快排 快速排序
- QuickSort/快速排序/快排
- 快速排序算法(快排)
- [算法]快排-快速排序
- [模板]快速排序(快排)
- 快速排序(Java随机位置快排实现)
- Java排序七:快排
- java排序之快排
- 快速排序的实现(快排)
- 快速排序 改进快排的方法
- 快速排序 改进快排的方法
- 快速排序 改进快排的方法
- Java实现常见的排序算法之快排(快速排序)
- 使用Java泛型实现快速排序(快排,Quicksort)
- 排序算法——快速排序(快排)
- java 快排和堆排序
- hdu 1198
- poj2377 kruskal
- android基础学习之打jar包
- description方法实现
- 埃拉托色尼筛算法
- Java 快速排序 快排
- Information Sharing
- apache配置详解
- 类目、延展、协议学习
- 主动退出iOS程序
- 一个IT小菜鸟的成长之路
- C与C++在形参的一点小区别
- Null object pattern,A fail example
- 关于android隐藏标题和状态栏,实测完美!