From b12779005baa4a34bfbbe0f75f732a481c3e500f Mon Sep 17 00:00:00 2001 From: Mayank Kochar <51817532+Mayankochar@users.noreply.github.com> Date: Fri, 30 Oct 2020 03:09:09 +0530 Subject: [PATCH] Create QuickSelect.java QuickSelect Alogrithm --- .../algorithms/sorting/QuickSelect.java | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/main/java/com/williamfiset/algorithms/sorting/QuickSelect.java diff --git a/src/main/java/com/williamfiset/algorithms/sorting/QuickSelect.java b/src/main/java/com/williamfiset/algorithms/sorting/QuickSelect.java new file mode 100644 index 000000000..2a6ce6f24 --- /dev/null +++ b/src/main/java/com/williamfiset/algorithms/sorting/QuickSelect.java @@ -0,0 +1,38 @@ +class QuickSelect { + public void swap(int[] nums, int i, int j) { + int temp = nums[i]; + nums[i] = nums[j]; + nums[j] = temp; + } + public int partition(int[] nums,int i,int j) { + int l = i - 1; + Random r = new Random(); + int p = i + r.nextInt(j - i + 1); + swap(nums,p,j); + int pivot = nums[j]; + for(int k=i;k