作者:兔宝宝牛宝宝_198 | 来源:互联网 | 2023-10-12 20:53
对应HDU 题目:点击打开链接
sort
Time Limit: 1000MS |
|
Memory Limit: 32768KB |
|
64bit IO Format: %I64d & %I64u |
[Submit]
[Go Back] [Status]
Description
给你n个整数,请按从大到小的顺序输出其中前m大的数。
sort, 归并,快排都能过~快排快点
快排就是,先找序列中的一个数为基数,比如第一个数a[0],使x=a[0]。之后定义i=0, j=n-1(假设数组是0~n-1)。先从后面往前找(即j--)第一个比x小的数a[j],使a[i]=a[j],再从前面往后找(即i++)第一个比x大的数,使a[j]=a[i];再从后面往前找....不断重复,最后当i==j时,使a[i]=x;结束退出。这样做实际是把比x小的都放到x前面,比x大的都放到x后面的一个过程。之后递归操作注意下边界就可以了,如果不熟悉递归,建议画下解答数模拟过程。。。
#include
#include
#include
#include
快速排序——HDU 1425