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

java快排和冒泡

Java中常用的排序算法有很多種,其中快排和冒泡是比較常見的兩種。

首先,我們來(lái)看一下快排的代碼實(shí)現(xiàn):

public static void quickSort(int[] arr, int left, int right) {
int i = left, j = right;
int pivot = arr[(left + right) / 2];
while (i<= j) {
while (arr[i]< pivot) {
i++;
}
while (arr[j] >pivot) {
j--;
}
if (i<= j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
i++;
j--;
}
}
if (left< j) {
quickSort(arr, left, j);
}
if (i< right) {
quickSort(arr, i, right);
}
}

以上代碼實(shí)現(xiàn)了快排算法,主要思路是先將數(shù)組分為小于基準(zhǔn)值和大于基準(zhǔn)值的兩個(gè)序列,再通過遞歸的方式對(duì)序列進(jìn)行排序。

接下來(lái),我們看一下冒泡排序的代碼實(shí)現(xiàn):

public static void bubbleSort(int[] arr) {
int temp;
for (int i = 0; i< arr.length - 1; i++) {
for (int j = 0; j< arr.length - 1 - i; j++) {
if (arr[j] >arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}

以上代碼實(shí)現(xiàn)了冒泡排序算法,主要思路是比較相鄰的兩個(gè)元素,如果前者大于后者,則交換位置,不斷重復(fù)這個(gè)過程,直到序列有序。

綜合來(lái)看,快排算法的時(shí)間復(fù)雜度為O(nlogn),較冒泡排序要快些。但是在某些情況下,冒泡排序的效率也不低,比如序列本身已經(jīng)基本有序,此時(shí)冒泡排序可以達(dá)到O(n)的時(shí)間復(fù)雜度。