-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathQuickSort.java
52 lines (41 loc) · 1.04 KB
/
QuickSort.java
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
41
42
43
44
45
46
47
48
49
50
51
52
public class QuickSort {
ArrayData arr = new ArrayData();
public static void main(String[] args) {
// TODO Auto-generated method stub
new QuickSort();
}
public QuickSort(){
int data[]=arr.simple_data;//{3,5,1,22,66,77,42,78};//arr.simple_data;
arr.printArr(data);
quicksort(data,0,data.length-1);
arr.printArr(data);
}
public int partition(int []data,int left,int right){
int L = left-1;
int R = right;
while(R>L){
System.out.print("\nL=[ ");
while(data[++L] < data[right]){
//L++;
System.out.print(L+"("+data[L]+"), ");
}
System.out.print("\nR=[ ");
while(data[right] > data[R]){
R--;
System.out.print(R+"("+data[R]+"), ");
}
int tmp = data[L];
data[L] = data[R];
data[R] = tmp;
arr.printArr(data);
}
System.out.println("\n----------------");
return L;
}
public void quicksort(int data[],int left,int right){
if (right <= left) return;
int i = partition(data, left, right);
quicksort(data, left, i-1);
quicksort(data, i+1, right);
}
}