Add CountingInversions algorithm (#5745)

This commit is contained in:
Hardik Pawar
2024-10-14 12:32:55 +05:30
committed by GitHub
parent 0020ab2a9a
commit 1e01ec5233
3 changed files with 135 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
package com.thealgorithms.divideandconquer;
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.Test;
public class CountingInversionsTest {
@Test
public void testCountInversions() {
int[] arr = {2, 3, 8, 6, 1};
assertEquals(5, CountingInversions.countInversions(arr));
}
@Test
public void testNoInversions() {
int[] arr = {1, 2, 3, 4, 5};
assertEquals(0, CountingInversions.countInversions(arr));
}
@Test
public void testSingleElement() {
int[] arr = {1};
assertEquals(0, CountingInversions.countInversions(arr));
}
@Test
public void testAllInversions() {
int[] arr = {5, 4, 3, 2, 1};
assertEquals(10, CountingInversions.countInversions(arr));
}
}