冒泡排序算法

 今天第一次写博客,最近正在研究排序算法,就从最简单的冒泡排序算法开始写(有些时候为了面试,冒泡排序算法被问到的几率还是很高的,不仅要求知道原理,还要会写)。

     一. 首先看一下百度百科的算法原理。

         

          1. 根据算法原理我们可以写一个比较简单的算法(这个不是最优的,因为可能循环没有结束的时候,就已经有序了)。

                  

                        测试数组:{5,7,9,4,8}

                          测试结果如下:

                               [5, 7, 4, 8, 9]
                               [5, 4, 7, 8, 9]
                               [4, 5, 7, 8, 9]
                               [4, 5, 7, 8, 9]
                               [4, 5, 7, 8, 9]

               通过结果不难发现,再循环到第四次的时候,这个结果已经有序了,不用再进行第五次的循环了。


               

         2.我们可以改进我们的算法,让他在已经有序的时候,不在进行循环。

              我们可以加一个boolean参数,每次外层循环开始的时候把他设为false,只要这次内循环有移动,就把它设为true,如何内循环没           有发生移动,就可以打断外层循环,排序结束。

                

               

                        测试数组:{5,7,9,4,8}

                          测试结果如下:     

                             [5, 7, 4, 8, 9]
                             [5, 4, 7, 8, 9]
                             [4, 5, 7, 8, 9]


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值