栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

快速排序法(举例学习)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

快速排序法(举例学习)

题目描述:

给定你一个长度为 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);
	}
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/702978.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号