冒泡排序是一種簡單的排序算法,它重復地遍歷要排序的數(shù)列,每次比較相鄰的兩個元素,如果它們的順序錯誤就交換它們的位置。遍歷數(shù)列的工作是重復地進行,直到沒有再需要交換的元素,也就是說該數(shù)列已經排序完成。
下面是冒泡排序的基本實現(xiàn):
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;
}
}
}
}
其中,外層循環(huán)控制比較輪數(shù),內層循環(huán)控制每輪比較的次數(shù)。在每輪比較中,從第一個元素開始,依次比較相鄰的兩個元素,如果前一個元素比后一個元素大,則交換它們的位置。
冒泡排序的時間復雜度為O(n^2),不適合對大量數(shù)據(jù)進行排序。