From b18673ab35908294af6bcc34b01af2b470f4b7fc Mon Sep 17 00:00:00 2001 From: Saikat Nayek <88332980+Saikat2407@users.noreply.github.com> Date: Tue, 4 Oct 2022 21:51:08 +0530 Subject: [PATCH] Pushed cyclic sort code --- CyclicSort.java | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 CyclicSort.java diff --git a/CyclicSort.java b/CyclicSort.java new file mode 100644 index 0000000..7717b40 --- /dev/null +++ b/CyclicSort.java @@ -0,0 +1,30 @@ +package com.saikat; + +import java.util.Arrays; + +public class CyclicSort { + public static void main(String[] args) { + int[] arr = {4,3,2,7,8,2,3,1}; + sort(arr); + System.out.println(Arrays.toString(arr)); + } + + static void sort(int[] arr){ + int i = 0; + while (i < arr.length){ + int correctIndex = arr[i] - 1; + if (arr[i] != arr[correctIndex]){ + swap(arr,i,correctIndex); + }else{ + i++; + } + } + + } + + static void swap(int[] arr, int first, int second){ + int temp = arr[first]; + arr[first] = arr[second]; + arr[second] = temp; + } +}