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

java選擇排序和冒泡

錢瀠龍1年前5瀏覽0評論

在Java中,排序是一項非常重要的操作,它可以將數(shù)據(jù)按照一定的規(guī)則排列起來,使得我們更加方便地查找和處理數(shù)據(jù)。在排序算法中,選擇排序和冒泡排序是兩種常見的算法。

選擇排序

/**
 * 選擇排序
 * @param arr 待排序數(shù)組
 */
public static void selectSort(int[] arr) {
for (int i = 0; i< arr.length - 1; i++) {
int minIndex = i;
for (int j = i + 1; j< arr.length; j++) {
if (arr[j]< arr[minIndex]) {
minIndex = j;
}
}
if (minIndex != i) {
int temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
}

選擇排序的基本思想是不斷地在未排序的元素中選擇最小的元素,放置到已排序的元素末尾。具體實現(xiàn)時,我們可以通過雙重循環(huán)來進(jìn)行選擇操作,并通過交換操作將最小元素放到已排序的部分末尾。

冒泡排序

/**
 * 冒泡排序
 * @param arr 待排序數(shù)組
 */
public static void bubbleSort(int[] arr) {
for (int i = 0; i< arr.length - 1; i++) {
boolean flag = true;
for (int j = 0; j< arr.length - 1 - i; j++) {
if (arr[j] >arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
flag = false;
}
} 
if (flag) {
break;
}
}
}

冒泡排序的基本思想是不斷地比較相鄰的元素,如果它們的順序錯誤就交換位置。具體實現(xiàn)時,我們可以通過雙重循環(huán)來進(jìn)行比較和交換操作,并通過一個標(biāo)志位來判斷是否需要進(jìn)行下一輪循環(huán)。

在實際使用時,我們可以根據(jù)具體情況選擇不同的排序算法,以滿足對時間和空間復(fù)雜度的要求。同時,在選擇排序和冒泡排序的基礎(chǔ)上,還有其他的排序算法,如插入排序、快速排序和歸并排序等,它們各有特點,可以根據(jù)需求進(jìn)行選擇。