快速排序法(举例学习)

快速排序法(举例学习),第1张

快速排序法(举例学习)

题目描述:

给定你一个长度为 n 的整数数列,请你使用快速排序对这个数列按照从小到大进行排序,并将排好序的数列按顺序输出。

输入格式:

输入共两行,第一行包含整数 n。

第二行包含 n 个整数(所有整数均在1∼99 范围内),表示整个数列。

输出格式:

输出共一行,包含 n 个整数,表示排好序的数列。

例子:

5
10 9 8 7 6

输出样例:

6 7 8 9 10

 

#include
#include
int swap(int &a,int &b);//定义了一个互换函数。 
int quicksort(int s[],int l,int r);//快速排序法。 
int main()
{
	int i,a[100],n;
	scanf("%d",&n);
	for(i=0;i=r){
		return 0;
	}
	else
	{
		w=l;k=r;//数组最左边序号赋值给w,数组最右边序号赋值给k。 
		set=s[w];//基准为s[w]。 
		while(w!=k){
			while(w=s[w]){
				w++;
			}
			swap(s[w],s[k]);
		}
		quicksort(s,l,w-1);//递归二分发类似。 
		quicksort(s,w+1,r);
	}
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5703084.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存