内部排序之冒泡排序法
文章目录
冒泡排序(Bubble Sort)也是一种简单快速的排序算法。它重复地遍历过要排序的数列,一次比较相邻的两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
主要思想
- 内部排序之冒泡排序法
- 主要思想
- 过程演示
- JAVA代码
- 算法分析
- 时间复杂度
- 空间复杂度
- 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
- 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。
- 针对所有的元素重复以上的步骤,除了本次遍历确定的最后一个值。
- 重复上面的步骤,直到没有任何一对数字需要比较。
动图制作: 算法动画网址:https://visualgo.net/zh/sorting gif录屏软件:GifCam 下载地址:https://download.csdn.net/download/weixin_43820556/86512977
-
第1趟排序
从数组下标0开始,不断与相邻的比较与交换,确定最大值9,并移动到了数组最后的位置
第1次排序后: 6 7 3 1 5 2 4 8 9
-
第2趟排序
从数组下标0开始,不断与相邻的比较与交换,确定最大值8,并移动到了数组最后的位置-1
第2次排序后: 6 3 1 5 2 4 7 8 9
-
第3趟排序
从数组下标0开始,不断与相邻的比较与交换,确定最大值7,并移动到了数组最后的位置-2 第3次排序后: 3 1 5 2 4 6 7 8 9
-
第4趟排序
从数组下标0开始,不断与相邻的比较与交换,确定最大值6,并移动到了数组最后的位置-3
第4次排序后: 1 3 2 4 5 6 7 8 9
-
第5趟排序
从数组下标0开始,不断与相邻的比较与交换,确定最大值5,并移动到了数组最后的位置-4 第5次排序后: 1 2 3 4 5 6 7 8 9
-
此时数组已经完成了排序。从第6~8趟排序的排序其实可以忽略。
package sort;
public class BubbleSort {
public static void main(String[] args) {
int[] o = {7, 6, 9, 3, 1, 5, 2, 4, 8};
System.out.print("排序前: ");
for (int t : o) {
System.out.print(t);
System.out.print(" ");
}
System.out.println();
// 算法部分
for (int i = 1; i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?