快速排序

原创 2013年12月03日 21:14:06
#include <iostream>
#include <iterator>
using namespace std;

int partion(int a[], int left, int right){
	int key=a[left];
	while(left<right){
		while(left<right && a[right]>key) right--;
		a[left]=a[right];
		while(left<right && a[left]<key) left++;
		a[right]=a[left];
	}
	a[left]=key;
	return left;
}
void quickSort(int a[], int left, int right){
	if(left<right){
		int x=partion(a,left,right);
		quickSort(a,left,x-1);
		quickSort(a,x+1,right);
	}
}

int _tmain(int argc, _TCHAR* argv[])
{
	int a[]={2,1,3,4,8,9,7,5,6};
	int len =sizeof(a)/sizeof(int);
	quickSort(a,0,len-1);
	copy(a,a+len,ostream_iterator<int>(cout,","));
	return 0;
}

相关文章推荐

快速排序代码

  • 2016年06月14日 14:08
  • 2KB
  • 下载

简单的快速排序

  • 2015年01月23日 09:57
  • 479B
  • 下载

快速排序算法学习心得(Java实现)

先上代码: ​int AdjustArray(int s[], int l, int r) //返回调整后基准数的位置,传入的参数分别是:子数组,子数组的第一个数的下标,最后一个数的下标 ...

快速排序算法

  • 2015年05月01日 16:41
  • 1KB
  • 下载

C#快速排序练习

  • 2017年06月20日 11:40
  • 30KB
  • 下载

浅谈算法和数据结构: 四 快速排序

上篇文章介绍了时间复杂度为O(nlgn)的合并排序,本篇文章介绍时间复杂度同样为O(nlgn)但是排序速度比合并排序更快的快速排序(Quick Sort)。 快速排序是20世纪科技领域的十大算法之一...

快速排序原创数据(20组)

  • 2015年10月30日 21:48
  • 7.57MB
  • 下载

快速排序(Quick Sort) Java实现

快速排序(Quick Sort) 快速排序(Quick Sort)的基本思想是:通过一趟排序将待排记录分割成独立的两部分其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行...

冒泡归并和快速排序java源码

  • 2016年05月11日 20:30
  • 2KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:快速排序
举报原因:
原因补充:

(最多只允许输入30个字)