public class QuickSort {
static void quickSort(int [] nums, int s, int e) {
int index = partition(nums, s, e);
if (s < index - 1) quickSort(nums, s, index-1);
if (e > index) quickSort(nums, index, e);
}
static int partition(int [] nums, int s, int e) {
int pivot = nums[(s+e)/2];
while(s <= e) {
while(nums[s] < pivot) s++;
while(nums[e] > pivot) e--;
if (s <= e) {
int temp = nums[s];
nums[s] = nums[e];
nums[e] = temp;
s++;
e--;
}
}
return s;
}
}
'2. 알고리즘 공부 > JAVA 기본 알고리즘 구현' 카테고리의 다른 글
4. Kruskal Algorithm (크루스칼 알고리즘) : MST 찾기 (0) | 2019.05.24 |
---|---|
3. Radix Sort (기수 정렬) (0) | 2019.05.03 |
1. Merge Sort(병합정렬) (0) | 2019.05.03 |