首页 > 代码库 > 快速排序的实现

快速排序的实现

  快速排序的重要性不言而喻,原理什么的不再多说,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;	}

  

快速排序的实现