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

排序之快速排序

时间:2016-05-16 17:41:08      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:

#include<stdio.h>
int q;
int Parttion(int* a,int p,int r);
void QuickSort(int* a,int p,int r);
int main()
{
	int i;
	int a[10]={1,4,2,7,3,9,8,6,0,5};
	QuickSort(a,0,9);
	for(i=0;i<10;i++)
	printf("%d ",a[i]);
	
	
	
	return 0;
}

int Parttion(int* a,int p,int r)
{
	int x=a[r];
	int i=p-1;
	int j;
	int temp;
	for(j=p;j<r;j++)
	{
		if(a[j]<=x)
			{
				i++;
				//Exchange a[i] and a[j];
				temp=a[i];
				a[i]=a[j];
				a[j]=temp;					
			}
	}
	temp=a[i+1];
	a[i+1]=a[r];
	a[r]=temp; 
	return (i+1);
}
void QuickSort(int* a,int p,int r)
{
	
	if(p<r)
	{
		q=Parttion(a,p,r);
		QuickSort(a,p,q-1);
		QuickSort(a,q+1,r);
	}

}

  

排序之快速排序

标签:

原文地址:http://www.cnblogs.com/YTYMblog/p/5498512.html

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