NEFU OJ30排序

自己寫了個快排。。

用庫中的排序函數sort()應該也可以,但就失去題目的意義了

#include<stdio.h> 

int a[10];

void quicksort(int beg,int end)
{
	if(beg >=end)
		return;
	int key = a[beg];
	int i = beg,j=end;
	while(i<j)
	{
		while(a[j] >= key && i<j)
		{
			j--;
		}
		a[i] = a[j];
		while(a[i] <= key && i<j)
		{
			++i;
		}
		a[j] = a[i];
	}
	a[i] = key;
	quicksort(beg,i-1);
	quicksort(i+1,end);
}
int main()  
{ 
	while( scanf("%d%d%d%d%d%d%d%d%d%d",&a[0],&a[1],&a[2],&a[3],&a[4],&a[5],&a[6],&a[7],&a[8],&a[9]) != EOF )
	{
		quicksort(0,9);
		for(int i =0;i<10;++i)
		{
			printf("%d ",a[i]);
		}
		printf("\n");
	}
	return 0;
}  


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章