코딩/JAVA

[JAVA] Quick Sort 퀵정렬

yesman9 2024. 2. 2. 13:09

asd

public static void quickSort(int[] arr, int start, int end) {
		if (start > end) {
			return;
		}
		int pivot = partition(arr, start, end);
		quickSort(arr, start, pivot - 1);
		quickSort(arr, pivot + 1, end);
	}

	public static int partition(int[] arr, int start, int end) {
		int pivot = arr[start];
		int i = start;

		while (start < end) {
			while (arr[end] > pivot && start < end) {
				end--;
			}
			while (arr[start] < pivot && start < end) {
				start++;
			}
			swap(arr, start, end);
		}
		swap(arr, start, i);

		return start;
	}

	public static void swap(int[] arr, int i, int j) {
		int temp = arr[i];
		arr[i] = arr[j];
		arr[j] = temp;
	}

asd