每一遍将最大的一个值(一步步)移动到最后
这是一个[9,1,5,8,3,7,4,6,2,10] 排序的例子.
1.比较相邻的元素将大的元素放到后面 2.经过一个周期循环可以将最大的元素放到后面 3.重复1,2步骤,依次将最大的元素放到最后面,排序完成
java 代码实现
public int[] bubbleSort(int[] arrays) { int length = arrays.length; for (int i = 1; i < length; i++) { for (int j = 0; j < length - i; j++) { if (arrays[j + 1] < arrays[j]) { //相邻位置交换值 int temp = arrays[j]; arrays[j] = arrays[j + 1]; arrays[j + 1] = temp; } } } return arrays; }优点
简单缺点
时间复杂度 O(n2)值的交换次数很多