forked from mayankchaudhary26/HacktoberFest-Practice-2021
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathQuick_Sort.java
More file actions
40 lines (33 loc) Β· 1.03 KB
/
Quick_Sort.java
File metadata and controls
40 lines (33 loc) Β· 1.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import java.util.*;
public class QuickSort{
public static void swap(int [] arr,int i,int j){
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
public static int partitionOverPivot(int [] arr,int si,int ei,int Pidx){
int p = si - 1, itr = si;
swap(arr,Pidx,ei);
while(itr <= ei){
if(arr[itr] <= arr[ei])
swap(arr,++p,itr);
itr++;
}
return p;
}
public static void Quicksort(int [] arr,int si,int ei){
if(si >= ei)
return;
int Pidx = ei; // you can use si,ei,mid,or random as well
int p = partitionOverPivot(arr,si,ei,Pidx);
Quicksort(arr,si,p-1);
Quicksort(arr,p+1,ei);
}
public static Scanner sc = new Scanner(System.in);
public static void main(String [] args){
int [] arr = {34,2,4,-30,34,2,6,45,-3};
Quicksort(arr,0,arr.length-1);
for(Integer i : arr)
System.out.print(i + " ");
}
}