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;
}
相关推荐
智慧老师10 分钟前
数据结构第一弹-数据结构在不同领域的应用
开发语言·数据结构·python
C灿灿数模1 小时前
2023和2024历年美赛数学建模赛题,算法模型分析!
算法·数学建模
lshzdq2 小时前
【机器人】控制之稳定性判定: 李雅普诺夫Lyapunov (2) 如何设计李(李雅普诺夫)函数
线性代数·算法·机器人
martian6652 小时前
深入详解人工智能机器学习常见算法——线性回归算法
人工智能·算法·机器学习·线性回归
java菜鸡加油2 小时前
代码随想录-算法训练营day56(动态规划17:回文子串,最长回文子序列,动态规划总结篇)
java·算法·leetcode·动态规划·力扣
缸缸---2 小时前
数据结构:单向链表,实现尾插尾删,头插头删,查找,在某个位置后插入删除
数据结构·链表
TU.路2 小时前
数据结构 ——平衡二叉树
数据结构
XiaoLeisj3 小时前
【优选算法 & 模拟】模拟算法入门详解 : 模拟算法小专题
数据结构·算法·leetcode·推荐算法
qq_459388713 小时前
C++作业5
java·c++·算法
无职转生真好看3 小时前
C++:列表初始化
c++·算法