How to print inversions pairs in array in Ruby

1 Answer

0 votes
def printInversionPair(arr) 
    size = arr.length
    
	if (size <= 1) 
		return
	end
    i = 0
	
	sorted = true	
	while (i < size) 
		j = i + 1
		while (j < size) 
			if (arr[i] > arr[j]) 
			    sorted = false
				print(arr[i] ,", ", arr[j] ,"\n")
				end
				j += 1
			end
			i += 1
		end
	if (sorted) 
	    print("sorted")
	end
end

	
arr1 = [1, 7, 2, 5, 4, 3, 9, 8]
printInversionPair(arr1)

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

Related questions

1 answer 107 views
3 answers 298 views
298 views asked Oct 16, 2021 by avibootz
1 answer 231 views
231 views asked Dec 23, 2020 by avibootz
1 answer 173 views
173 views asked Dec 23, 2020 by avibootz
1 answer 176 views
1 answer 176 views
176 views asked Nov 7, 2020 by avibootz
1 answer 139 views
139 views asked Nov 7, 2020 by avibootz
...