1.要点
每一遍将最大的一个值(一步步)移动到最后
2.动图演示
这是一个[9,1,5,8,3,7,4,6,2,10] 排序的例子.
3. 算法步骤
1.比较相邻的元素将大的元素放到后面
2.经过一个周期循环可以将最大的元素放到后面
3.重复1,2步骤,依次将最大的元素放到最后面,排序完成
4. 代码
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;
}
5. 代码的优点和缺点.
优点
- 简单
缺点
- 时间复杂度 O(n2)
- 值的交换次数很多