题解 | 排序

排序

https://www.nowcoder.com/practice/dd0c6b26c9e541f5b935047ff4156309

#include <stdio.h>
#include <stdlib.h>
#define BUFFER_LENGTH (1000)

int compare_asc (const void* a, const void*b) {
    return (*(int*)a - *(int*)b);
}

int compare_desc (const void* a, const void*b) {
    return (*(int*)b - *(int*)a);
}

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

    int buffer[length];
    for (int i=0; i<length; i++) {
        scanf("%d", buffer+i);
    }
    
    int order;
    scanf("%d", &order);

    if (order == 0) {
        qsort(buffer, length, sizeof(int), compare_asc);
    } else if (order == 1) {
        qsort(buffer, length, sizeof(int), compare_desc);
    }
    
    for (int i=0; i<length; i++) {
        printf("%d", buffer[i]);
        if (i == length-1) {
            printf("\n");
        } else {
            printf(" ");
        }
    }

    return 0;
}

全部评论

相关推荐

03-04 07:14
门头沟学院 C++
黑皮白袜臭脚体育生:老板:都给工作机会了还想要工资,哪来这么多好事
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
03-19 10:38
实力求职者:真的绷不住了,第一张霸总人设,第二张求生欲拉满
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务