冒泡排序(Bubble Sort),是一种最基础的交换排序。思想是依次比较两个相邻的元素,如果顺序相反则交换这两个元素的位置,重复以上的比较操作直至没有相邻元素需要交换。
复杂度分析
- 最好情况:
O(n)
- 最坏情况:
O(n²)
- 平均:
O(n²)
Java 代码实现
import java.util.Arrays;
public class BubbleSort {
public static void sort(int[] data) {
int temp = 0;
for (int i = 0; i < data.length; i++) {
for (int j = 0; j < data.length - i - 1; j++) {
if (data[j] > data[j + 1]) {
temp = data[j];
data[j] = data[j + 1];
data[j + 1] = temp;
}
}
System.out.println(Arrays.toString(data));
}
}
public static void main(String[] args) {
int[] data = {34, 24, 93, 1, 32, 98, 18, 39};
sort(data);
}
}
运行结果
[24, 34, 1, 32, 93, 18, 39, 98]
[24, 1, 32, 34, 18, 39, 93, 98]
[1, 24, 32, 18, 34, 39, 93, 98]
[1, 24, 18, 32, 34, 39, 93, 98]
[1, 18, 24, 32, 34, 39, 93, 98]
[1, 18, 24, 32, 34, 39, 93, 98]
[1, 18, 24, 32, 34, 39, 93, 98]
[1, 18, 24, 32, 34, 39, 93, 98]
网友评论