【简单】算法nodeJs:字符串排序

182 阅读1分钟

描述

对于给定的由大小写字母混合构成的 n 个单词,输出按字典序从小到大排序后的结果。

从字符串的第一个字符开始逐个比较,直到找到第一个不同的位置,通过比较这个位置字符对应的 Ascii 码( A<⋯<Z<a<⋯<z )得出字符串的大小,称为字典序比较。

输入描述:

第一行输入一个整数 n(1≦n≦1000) 代表给定的单词个数。
此后 n 行,每行输入一个长度 1≦length(s)≦100 ,由大小写字母混合构成的字符串 s ,代表一个单词。

输出描述:

输出 n 行,每行输出一个字符串,代表排序后的结果。第一行输出字典序最小的单词。

const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;

void (async function () {
    // Write your code here
    const arr = [];
    while ((line = await readline())) {
        arr.push(line);
    }
    arr.sort();
    for (let i = 1; i < arr.length; i++) {
        console.log(arr[i]);
    }
})();

sort()  方法对数组的元素进行排序,并返回对相同数组的引用。默认排序是将元素转换为字符串,然后按照它们的 UTF-16 码元值升序排序。

如果想要不改变原数组的排序方法,可以使用 toSorted()