카테고리 없음
정렬
challnum
2023. 7. 8. 11:43
퀵 정렬
import java.util.*;
public class Main {
public static void quickSort(int[] arr, int start, int end) {
if (start >= end) return;
int pivot = start;
int left = start + 1;
int right = end;
while (left <= right) {
while (left <= end && arr[left] <= arr[pivot]) left++;
while (right > start && arr[right] >= arr[pivot]) right--;
if (left > right) {
int temp = arr[pivot];
arr[pivot] = arr[right];
arr[right] = temp;
}
else {
int temp = arr[left];
arr[left] = arr[right];
arr[right] = temp;
}
}
quickSort(arr, start, right - 1);
quickSort(arr, right + 1, end);
}
public static void main(String[] args) {
int n = 10;
int[] arr = {7, 5, 9, 0, 3, 1, 6, 2, 4, 8};
quickSort(arr, 0, n - 1);
for(int i = 0; i < n; i++) {
System.out.print(arr[i] + " ");
}
}
}
기수 정렬
시간 : O(N)