java 快速选择函数代码
时间: 2023-05-11 18:03:14 浏览: 107
java代码-斐波那契函数
以下是一个 Java 实现的快速选择算法的代码:
public static int quickSelect(int[] arr, int k) {
int left = 0;
int right = arr.length - 1;
while (true) {
int pivotIndex = partition(arr, left, right);
if (pivotIndex == k - 1) {
return arr[pivotIndex];
} else if (pivotIndex > k - 1) {
right = pivotIndex - 1;
} else {
left = pivotIndex + 1;
}
}
}
private static int partition(int[] arr, int left, int right) {
int pivot = arr[right];
int i = left;
for (int j = left; j < right; j++) {
if (arr[j] < pivot) {
swap(arr, i, j);
i++;
}
}
swap(arr, i, right);
return i;
}
private static void swap(int[] arr, int i, int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
希望这可以帮到你!
阅读全文