How to print inversions pairs in array in JavaScript

1 Answer

0 votes
// Inversion for an array indicates how far (or close) the array is from being sorted. 
// If the array is sorted then the Inversion is 0.
  
function printInversionPair(arr) {
    const size = arr.length;
    if (size <= 1) {
        return;
    }
    sorted = true;
    for (let i = 0; i < size; i++) {
        for (let j = i + 1; j < size; j++) {
            if (arr[i] > arr[j]) {
                sorted = false;
                console.log(arr[i] + ", " + arr[j]);
            }
         }
    }
    if (sorted)
        console.log("sorted");
}        
  
 
const arr1 = [1, 7, 2, 5, 4, 3, 9, 8];
printInversionPair(arr1);
          
const arr2 = [1, 2, 3, 4, 5, 6, 7, 8, 9];
printInversionPair(arr2);
    
    
    
    
/*
run:
    
"7, 2"
"7, 5"
"7, 4"
"7, 3"
"5, 4"
"5, 3"
"4, 3"
"9, 8"
"sorted"
    
*/

 

 



answered Nov 10, 2021 by avibootz
edited Nov 10, 2021 by avibootz

Related questions

1 answer 173 views
1 answer 180 views
180 views asked Nov 10, 2021 by avibootz
1 answer 217 views
1 answer 194 views
1 answer 115 views
115 views asked Nov 10, 2021 by avibootz
1 answer 126 views
1 answer 118 views
...