File tree Expand file tree Collapse file tree 1 file changed +38
-0
lines changed
yoonexample/src/main/java/sort Expand file tree Collapse file tree 1 file changed +38
-0
lines changed Original file line number Diff line number Diff line change
1
+ package sort ;
2
+
3
+ public class QuickSort implements Sort {
4
+
5
+ @ Override
6
+ public void sort (int [] array ) {
7
+ quickSort (array , 0 , array .length - 1 );
8
+ }
9
+
10
+ private void quickSort (int [] array , int left , int right ) {
11
+ if (left < right ) { // 교차되기 전까지
12
+ int pivot = partition (array , left , right );
13
+ quickSort (array , left , pivot - 1 );
14
+ quickSort (array , pivot + 1 , right );
15
+ }
16
+ }
17
+
18
+ private int partition (int [] array , int left , int right ) {
19
+ int pivot = array [left ];
20
+ int k = right ;
21
+
22
+ for (int i = right ; i > left ; i --) {
23
+ if (array [i ] > pivot ) {
24
+ swap (array , i , k );
25
+ k --;
26
+ }
27
+ }
28
+
29
+ swap (array , left , k );
30
+ return k ;
31
+ }
32
+
33
+ private void swap (int [] array , int index1 , int index2 ) {
34
+ int temp = array [index1 ];
35
+ array [index1 ] = array [index2 ];
36
+ array [index2 ] = temp ;
37
+ }
38
+ }
You can’t perform that action at this time.
0 commit comments