新手关于入门的java算法冒泡算法分享(新手进,大牛勿喷,有误的地方欢迎大牛指正)

一、冒泡算法

      (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).运行结果图

           新手对于冒泡算法的一点小小的学习与记录,有更优写法欢迎各位大牛指教。

猜你喜欢

转载自blog.csdn.net/qq2710393/article/details/82194421