码迷,mamicode.com
首页 > 编程语言 > 详细

快速排序的实现

时间:2014-12-24 00:01:14      阅读:427      评论:0      收藏:0      [点我收藏+]

标签:

  快速排序的重要性不言而喻,原理什么的不再多说,google一下都很详细,许多面试中都重点考察,甚至还会要求迅速手写,今天码出快排的代码。

#include<iostream>
using namespace std;
void quicksort(int left,int right,int arr[])
{
	if(left > right)
		return ;
	int i,j,t,tmp;
	i = left;
	j = right;
	t = arr[left];
	while(i != j)
	{
		while(arr[j] >= t && i < j)
			j --;
		while(arr[i] <= t && i < j)
			i ++;
		if(i < j)
		{
			tmp = arr[i];
			arr[i] = arr[j];
			arr[j] = tmp;
		}
	}
	arr[left] = arr[i];
	arr[i] = t;
	quicksort(left,i - 1,arr);
	quicksort(i + 1,right,arr);
	
}
int main()
{
	int a[] = {5,7,4,2,9,0,8,1,3,6};
	quicksort(0,9,a);
	for(int i = 0;i < 10;i ++)
 		cout<<a[i]<<" ";
	cout<<endl;
	return 0;	
}

  

快速排序的实现

标签:

原文地址:http://www.cnblogs.com/coderchuanyu/p/4181366.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!