【数据结构】——排序算法——2.1、冒泡排序
一、先上维基的图:
图一、冒泡排序
分类 | 排序算法 |
---|---|
数据结构 | 数组 |
最差时间复杂度 | |
最优时间复杂度 | |
平均时间复杂度 | |
最差空间复杂度 | 总共,需要辅助空间 |
二、描述
这个算法是最简单了解和实现的排序算法之一,每轮比较,都按照顺序将左右两个数进行,大(小)的数就往上升。就像车轮猜拳战一般,队尾的那个往前跟其他人猜拳,赢得继续向前与其他人猜拳。到最后达到队首的那个就是这一轮中最厉害的,这个最值就是第一名。紧接着,后面的继续重复刚才的车轮战。直到一个个都向前冒出来,顺序也就排好了。
三、Java程序
public class BubbleSort { public static void main(String[] args) { int[] number = {95,45,15,78,84,24,12}; int temp = 0; for (int i = 0; i < number.length - 1; i++) for (int j = 0; j < number.length - 1 - i ; j++) if (number[j] > number[j + 1]) { temp = number[j]; number[j] = number[j + 1]; number[j + 1] = temp; } //if end for(int i = 0; i < number.length; i++) System.out.print(number[i] + " "); System.out.println(); } //main end } //BubbleSort end