一、冒泡算法
(1).核心思想:
比较相邻两数大小,然后根据规则选择是否调换顺序(可以选择是升序还是降序),比较对象为int数组内容,虽然Arrays工 具类有sort方法可以直接进行排序,但是此处重在演示算法的原理,不是为了简单的获取排序结果。
假设目标数组为: int[] iAry = {9,1,2,7,6,3,4};则排序结果如下(此处采用升序排序,降序原理一致):
第一次排序:{1, 2, 7, 6, 3, 4, 9} 排序范围:0-(length-1)
第二次排序:{1, 2, 6, 3, 4, 7, 9} 排序范围:0-(length-2) 注:最后一个元素已经是数组中的最大值可以不参与排序
第三次排序:{1, 2, 3, 4, 6, 7, 9} 排序范围:0-(length-3) 注:倒数第二个之后元素可以不参与排序
第四次排序:{1, 2, 3, 4, 6, 7, 9} 排序范围:0-(length-4) 注:倒数第三个之后元素可以不参与排序
第五次排序:{1, 2, 3, 4, 6, 7, 9} 排序范围:0-(length-5) 注:倒数第三个之后元素可以不参与排序
第六次排序:{1, 2, 3, 4, 6, 7, 9}
(2).实现步骤
①.创建需要进行排序的目标数组
②.确定需要进行排序的次数
③.确定需要进行比较的元素循环
④.符合元素的相邻两个元素互换位置
⑤.输出排序后的数组
(3).上代码图
(4).运行结果图
新手对于冒泡算法的一点小小的学习与记录,有更优写法欢迎各位大牛指教。