How to sort array into zig zag pattern (a < b > c < d > e < f > g) in TypeScript

1 Answer

0 votes
function SortArrayIntoZigZagPattern(arr : number[]) {
    let small : boolean = true;
    const size : number = arr.length;
    
    for (let i : number = 0; i <= size - 2; i++) {
        if (small) {
            if (arr[i] > arr[i + 1]) {
                [arr[i], arr[i + 1]] = [arr[i + 1], arr[i]]
            }
        }
        else {
            if (arr[i] < arr[i + 1]) {
                [arr[i], arr[i + 1]] = [arr[i + 1], arr[i]]
            }
        }
        small = !small;
    }
}
        
// a < b > c < d > e < f > g...
// 3 < 5 > 1 < 9 > 6 < 7 > 2 < 4

const arr : number[] = [3, 5, 1, 7, 9, 6, 4, 2];
        
SortArrayIntoZigZagPattern(arr);

console.log(arr);




/*
run:


[3, 5, 1, 9, 6, 7, 2, 4]

*/

 



answered Nov 6, 2022 by avibootz
...