7-5 排序

给定 n 个(长整型范围内的)整数,要求输出从小到大排序后的结果。

本题旨在测试各种不同的排序算法在各种数据情况下的表现。各组测试数据特点如下:

  • 数据1:只有1个元素;

  • 数据2:11个不相同的整数,测试基本正确性;

  • 数据3:103个随机整数;

  • 数据4:104个随机整数;

  • 数据5:105个随机整数;

  • 数据6:105个顺序整数;

  • 数据7:105个逆序整数;

  • 数据8:105个基本有序的整数;

  • 数据9:105个随机正整数,每个数字不超过1000。

    输入格式:

    输入第一行给出正整数 n(≤105),随后一行给出 n 个(长整型范围内的)整数,其间以空格分隔。

    输出格式:

    在一行中输出从小到大排序后的结果,数字间以 1 个空格分隔,行末不得有多余空格。

    输入样例:

    复制代码
    11
    4 981 10 -17 0 -20 29 50 8 43 -5

    输出样例:

    复制代码
    -20 -17 -5 0 4 8 10 29 43 50 981

代码长度限制

16 KB

Java (javac)

时间限制

10000 ms

内存限制

128 MB

Python (python3)

时间限制

5000 ms

内存限制

64 MB

其他编译器

时间限制

3000 ms

内存限制

64 MB

栈限制

8192 KB

cpp 复制代码
#include <stdio.h>
#include <stdlib.h>

// 比较函数,用于qsort
int compare(const void *a, const void *b) {
    long int num1 = *(long int *)a;
    long int num2 = *(long int *)b;
    return (num1 > num2) - (num1 < num2);
}

int main() {
    int n;
    scanf("%d", &n);

    long int arr[n];
    for (int i = 0; i < n; i++) {
        scanf("%ld", &arr[i]);
    }

    // 使用qsort进行排序
    qsort(arr, n, sizeof(long int), compare);

    // 输出排序后的结果
    for (int i = 0; i < n; i++) {
        printf("%ld", arr[i]);
        if (i < n - 1) {
            printf(" ");
        }
    }
    printf("\n");

    return 0;
}
相关推荐
努力努力再努力wz2 分钟前
【C++高阶数据结构系列】:跳表 SkipList 详解:多层索引、随机晋升与C++ 完整实现(附跳表实现的源码)
开发语言·数据结构·数据库·c++·redis·缓存·skiplist
m沐沐14 分钟前
【机器学习】信用卡欺诈检测实战:逻辑回归 + 过采样
人工智能·算法·机器学习·pycharm·逻辑回归
代码中介商21 分钟前
图论入门:从基础到遍历算法
数据结构·算法·图论
csdn_aspnet22 分钟前
Python 霍尔分区算法(Hoare‘s Partition Algorithm)
开发语言·python·算法
8Qi823 分钟前
LeetCode 295:数据流的中位数(Median Finder)—— Java 题解 ✅
java·算法·leetcode·优先队列··中位数
Trouvaille ~29 分钟前
【Redis篇】Redis 事务:原子性与脚本执行机制
数据库·redis·后端·算法·junit·lua·原子性
飞天狗11131 分钟前
2024第十五届蓝桥杯c/c++B组国赛题解
c语言·数据结构·c++·算法·蓝桥杯
rsuhbsrjms44 分钟前
可视采耳仪器多少钱一台?可视耳勺哪个牌子好?口碑好的可视耳勺
网络·人工智能·算法
finhaz1 小时前
神经网络等机器学习模型的看法
算法
z200509301 小时前
【linux学习】深入理解 Linux 下的静态库与动态库
开发语言·c++·算法