zl程序教程

您现在的位置是:首页 >  后端

当前栏目

JS从0到1——818. 数组排序

2023-09-14 09:14:57 时间

文章目录

Question

给定一个长度为 n
的数组 a
以及两个整数 l
和 r
,请你编写一个函数,void sort(int a[], int l, int r),将 a[l]∼a[r]
从小到大排序。

输出排好序的数组 a

输入格式
第一行包含三个整数 n,l,r

第二行包含 n
个整数,表示数组 a

输出格式
共一行,包含 n
个整数,表示排序完成后的数组 a

数据范围
0≤l≤r<n≤1000
输入样例:
5 2 4
4 5 1 3 2
输出样例:
4 5 1 2 3

Ideas

Code

let buf = "";

process.stdin.on("readable", function() {
    let chunk = process.stdin.read();
    if (chunk) buf += chunk.toString();
});


let solve = function(arr, l, r){
    for (let i = l; i < r; i ++){
        for (let j = i + 1; j <= r; j ++){
            if (arr[i] > arr[j]){
                let tem = arr[i];
                arr[i] = arr[j];
                arr[j] = tem;
                // [arr[i], arr[j]] = [arr[j], arr[i]];
            }
        }
    }
    
}


process.stdin.on("end", function() {
    let new_buf = buf.split('\n');
    let [n, l, r] = new_buf[0].split(' ').map((x)=>{
        return parseInt(x);
    })
    let arr = new_buf[1].split(' ').map(function(x){
        return parseInt(x);
    });
    
    
    solve(arr,l, r);
    console.log(arr.join(' '));

});