How to rearrange an array such that every odd index element is greater than its previous in JavaScript

1 Answer

0 votes
function rearrangeArray(arr) {
    let size = arr.length;
    
    for (let i = 0; i < size - 1; i += 2) {
        if (arr[i] > arr[i + 1]) {
            [arr[i], arr[i + 1]] = [arr[i + 1], arr[i]];
        }
    }
    
    // if array size is odd
    if ((size & 1) != 0) {
        for (let i = size - 1; i > 0; i -= 2) {
            if (arr[i] > arr[i - 1]) {
                [arr[i], arr[i - 1]] = [arr[i - 1], arr[i]];
            }
        }
    }
}

const arr = [1, 3, 6, 2, 5, 4, 0, 9, 8, 7];

rearrangeArray(arr);
        
console.log(arr);





/*
run:
 
[1, 3, 2, 6, 4, 5, 0, 9, 7, 8]

*/

 



answered Oct 2, 2023 by avibootz
...