HJ101 输入整型数组和排序标识,对其元素按照升序或降序进行排序

120 阅读1分钟

image.png

const readline = require("readline");
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout,
});

let n = 0;
let arr = [];
let isAscending = true;

rl.on("line", (line) => {
    if (n === 0) {
        // 获取数组元素个数
        n = parseInt(line.trim());
    } else if (arr.length === 0) {
        // 获取待排序的数组,并将其转化为数字类型
        arr = line.trim().split(" ").map(Number);
    } else {
        isAscending = parseInt(line.trim()) === 0; // 获取排序方式
        arr.sort(isAscending ? asc : desc); // 使用自定义的比较函数进行排序
        console.log(arr.join(" ")); // 输出排好序的数组
    }
});

// 自定义升序比较函数
function asc(a, b) {
    return a - b;
}

// 自定义降序比较函数
function desc(a, b) {
    return b - a;
}

输入整型数组和排序标识,对其元素按照升序或降序进行排序_牛客题霸_牛客网 (nowcoder.com)