冒泡排序是一種簡單的排序算法,它重復地遍歷要排序的數列,每次比較相鄰的兩個元素,如果它們的順序錯誤就交換它們的位置。遍歷數列的工作是重復地進行,直到沒有再需要交換的元素,也就是說該數列已經排序完成。
下面是冒泡排序的基本實現:
public void bubbleSort(int[] arr) {
int n = arr.length;
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
其中,外層循環控制比較輪數,內層循環控制每輪比較的次數。在每輪比較中,從第一個元素開始,依次比較相鄰的兩個元素,如果前一個元素比后一個元素大,則交換它們的位置。
冒泡排序的時間復雜度為O(n^2),不適合對大量數據進行排序。