File tree Expand file tree Collapse file tree 1 file changed +5
-4
lines changed
src/main/java/algorithms/sorting/cyclicSort/generalised Expand file tree Collapse file tree 1 file changed +5
-4
lines changed Original file line number Diff line number Diff line change @@ -13,18 +13,19 @@ public class CyclicSort {
1313 */
1414 public static void cyclicSort (int [] arr , int n ) {
1515 for (int currIdx = 0 ; currIdx < n - 1 ; currIdx ++) {
16- int currElement = arr [ currIdx ] ;
16+ int currElement ;
1717 int rightfulPos ;
1818
1919 do {
2020 rightfulPos = currIdx ; // initialization since elements before currIdx are correctly placed
21+ currElement = arr [currIdx ];
2122 for (int i = currIdx + 1 ; i < n ; i ++) { // O(n) find rightfulPos for the currElement
2223 if (arr [i ] < currElement ) {
2324 rightfulPos ++;
2425 }
25- if ( rightfulPos == currIdx ) { // verified curr position is correct for curr element
26- break ;
27- }
26+ }
27+ if ( rightfulPos == currIdx ) { // verified curr position is correct for curr element
28+ break ;
2829 }
2930 while (currElement == arr [rightfulPos ]) { // duplicates found, so find next suitable position
3031 rightfulPos ++;
You can’t perform that action at this time.
0 commit comments