冒泡排序算法怎么写?
【摘要】排序算法很多,其中冒泡排序算法是比较经典的一种,原理清晰,代码简洁,值得学习编程的同学关注,对于算法概念的理解很有帮助。
案例:假如我们有一个整数序列的 { 2,1,3,5,8,23,11,4,7,21 },需要我们使用冒泡排序算法来进行排序,这个算法代码该如何写呢?
咱们不慌着先写代码,先解释一下冒泡排序算法是怎么一回事。
编程中所谓的算法,是一个高大上的概念,这玩意也确实挺高大上的。因为,有些算法,比如google的搜索排名算法,据说是一个超级大牛写的一个超级复杂的算法,其中,包含了复杂的优先排序的规则。但是,我们日常编程中遇到的问题,大多是没有这么复杂的。所以,通常的算法,也就没有那么高大上了。其实,概念上,算法就是解决问题的方法,对于程序员来说,就是如何通过编写代码来解决问题。
当然,有许多经典算法,对于初学者来说,还是脑洞大开的,非常值得学习。
今天我们介绍的这个冒泡排序算法就是一个经典的小而美的算法案例。下面简单介绍一下他的算法原理:
针对一个可排序的对象,首先从第一个开始,读取序列对象的一个值;然后,将它与这个序列中剩下的其余所有对象的值进行比较,每一次比较,如果发现比自己更小,那么就交换它们的值。这个交换行为意味着,每遇到一个较小的值,就会让它移动到最前面去,这就像较轻的气泡浮出水面一样,所以称之为冒泡排序算法。第一轮比较下来,值最小的那个对象排到了最前面。然后再从第二个开始,进行循环比对。依此类推,直到找到最后一个较小的,剩下的最后那一个,不需要再比较了,它就是最大的。
好了,下面我们看看它的代码吧。
怎么样?够简单的吧?!
这是一个控制台程序,当然你可以把这样的算法写在任何需要的地方。