diff --git a/src/main/java/com/sorts/CycleSort.java b/src/main/java/com/sorts/CycleSort.java index a1e5a5bf4b17..6c0436c5a5dd 100644 --- a/src/main/java/com/sorts/CycleSort.java +++ b/src/main/java/com/sorts/CycleSort.java @@ -15,7 +15,7 @@ public > T[] sort(T[] arr) { int count = 0; // Traverse array and put the elements on their respective right places - for (int i = 0; i < n - 2; i++) { + for (int i = 0; i < n - 1; i++) { // Initialize item as the starting point T item = arr[i]; diff --git a/src/main/java/com/sorts/SortUtils.java b/src/main/java/com/sorts/SortUtils.java index cbede5452ab7..23bf0336dae0 100644 --- a/src/main/java/com/sorts/SortUtils.java +++ b/src/main/java/com/sorts/SortUtils.java @@ -38,7 +38,7 @@ static > boolean less(T v, T w) { * @param right is a right flip border of the array */ static > void flip(T[] array, int left, int right) { - while (left <= right) { + while (left < right) { swap(array, left++, right--); } } diff --git a/src/test/java/com/dataStructures/StackTest.java b/src/test/java/com/dataStructures/StackTest.java index 6bf4868e603b..c6b80f158d06 100644 --- a/src/test/java/com/dataStructures/StackTest.java +++ b/src/test/java/com/dataStructures/StackTest.java @@ -36,7 +36,7 @@ void testPeekWithElements() { myStack.push(30); myStack.push(40); - Assertions.assertEquals(40, myStack.peek()); + Assertions.assertEquals(40, (int) myStack.peek()); } @Test @@ -57,7 +57,7 @@ void testPopWithElements() { myStack.push(40); myStack.push(50); - Assertions.assertEquals(50, myStack.pop()); + Assertions.assertEquals(50, (int) myStack.pop()); } diff --git a/src/test/java/com/sorts/CycleSortTest.java b/src/test/java/com/sorts/CycleSortTest.java index 720e5e5fd249..594efec6cf3b 100644 --- a/src/test/java/com/sorts/CycleSortTest.java +++ b/src/test/java/com/sorts/CycleSortTest.java @@ -30,5 +30,8 @@ void cycleSortIntegerTest() { String[] sortedStr = new String[]{"Alan", "David", "Dennis", "Edward", "Ken", "Linus", "Robert"}; Assertions.assertArrayEquals(sortedStr, cycleSort.sort(unsortedStr)); + Integer[] unsortedShortInt = new Integer[]{29, 11}; + Integer[] sortedShortInt = new Integer[]{11, 29}; + Assertions.assertArrayEquals(sortedShortInt, cycleSort.sort(unsortedShortInt)); } }