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;
}
相关推荐
小O的算法实验室11 小时前
2026年ASOC,基于深度强化学习的无人机三维复杂环境分层自适应导航规划方法,深度解析+性能实测
算法·无人机·论文复现·智能算法·智能算法改进
‎ദ്ദിᵔ.˛.ᵔ₎11 小时前
LIST 的相关知识
数据结构·list
M--Y12 小时前
Redis常用数据类型
数据结构·数据库·redis
郭涤生12 小时前
STL vector 扩容机制与自定义内存分配器设计分析
c++·算法
༾冬瓜大侠༿12 小时前
vector
c语言·开发语言·数据结构·c++·算法
Ricky111zzz13 小时前
leetcode学python记录1
python·算法·leetcode·职场和发展
汀、人工智能13 小时前
[特殊字符] 第58课:两个正序数组的中位数
数据结构·算法·数据库架构··数据流·两个正序数组的中位数
liu****13 小时前
第16届省赛蓝桥杯大赛C/C++大学B组(京津冀)
开发语言·数据结构·c++·算法·蓝桥杯
汀、人工智能13 小时前
[特殊字符] 第79课:分割等和子集
数据结构·算法·数据库架构·位运算·哈希表·分割等和子集
汀、人工智能13 小时前
[特殊字符] 第74课:完全平方数
数据结构·算法·数据库架构·图论·bfs·完全平方数