考试结束了,全班同学的分数都出来了。老师需要对分数做一次排序,看看从高到低,分数的排列是怎样的。 输入格式: 第一行是一个n,表示班级同学的人数,1<=n<=500000。 第二行开始有n个分数,0<=分数<=100,分数都是整数,没有零点五分。 输出格式: 输出排序后的分数,按照从大到小排列,相同的分数排在一起,每两个分数之间间隔一个空格。 输入样例: 10 0 60 73 60 82 90 100 18 55 84 输出样例: 100 90 84 82 73 60 60 55 18 0
时间: 2023-05-29 18:07:59 浏览: 133
成绩排序,输入成绩按照从大到小的顺序依次排列
思路:排序算法,如快速排序、归并排序、堆排序等。
快速排序
快速排序是一种基于比较的排序算法,利用分治思想,将一个数组分成两个子数组,再递归地对子数组进行排序,以此类推,最终将整个数组排序。
快速排序的基本思想是选取一个基准元素,将数组元素分为大于基准元素和小于基准元素两个子序列,然后递归地对两个子序列进行快速排序,直到序列中只有一个元素为止。
快速排序的时间复杂度为O(nlogn),空间复杂度为O(logn),是一种很常用的排序算法。
C++ 代码
阅读全文