欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java快排和選擇排序

劉姿婷1年前6瀏覽0評論

在數據處理中,排序算法之一的快速排序和選擇排序廣泛被應用。使用Java語言,我們可以編寫出高效的代碼來實現這些算法。

快速排序

快速排序是一種高效的排序方式。這種算法的思路是通過遞歸地將待排序的數組分為更小的子數組,再將子數組分治為更小的子數組,直到單個元素時排序結束。

public static void quickSort(int[] arr, int low, int high) {
if (low >= high) {
return;
}
int pivot = arr[high];
int i = low;
for (int j = low; j< high; j++) {
if (arr[j]< pivot) {
//swap arr[i] and arr[j]
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
i++;
}
}
//swap arr[i] and arr[high]
int temp = arr[i];
arr[i] = arr[high];
arr[high] = temp;
quickSort(arr, low, i - 1);  // 遞歸操作左子數組
quickSort(arr, i + 1, high); // 遞歸操作右子數組
}

選擇排序

選擇排序是一種簡單的排序方式,它的思路是找到數組中最小的元素,將它與第一個元素互換位置,接著在剩余的元素中找到最小的元素,將它與數組的第二個元素互換位置。以此類推,直到所有的元素都排列好。

public static void selectionSort(int[] arr) {
int len = arr.length;
for (int i = 0; i< len - 1; i++) {
int minIndex = i;
for (int j = i + 1; j< len; j++) {
if (arr[j]< arr[minIndex]) {
minIndex = j;
}
}
//swap arr[i] and arr[minIndex]
int temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}

不同的排序方法各有優缺點,快速排序通常比選擇排序更快,但當數據規模較小時,選擇排序可能更有效。對于大型的數據集,快速排序通常被認為是一種最快速的排序方式。