3种简单排序(1)—— 冒泡排序

这里介绍3种简单排序,在实际的开发中并非经常使用,但是有利于理解一些高级的排序算法,如希尔排序、快速排序等。

冒泡排序算法:

  算法思路:

    计算机和人对待排序的思路有着根本的不过, 人总是能对待事物有种统一和模糊的认知,比如一眼看过去就是知道个大概,计算机却不是这样,

    每次只能对两个数进行“比较”和“替换”,冒泡排序算法就急于这样的思路。

    这里首先假设排序目标位升序,也即是将最大的数放在最右边,最小的数放在最左边。

    冒泡排序算法由“外层控制”和“内层比较”这两部分组成,内层比较每次数据的头两个数开始,如果前一个数大于后一个数则两者交换,反正则不

    进行任何操作,每完成这样的一次比较,无论是否进行了数据交换,都将需要进行比较的数据向前移动一位。

    这样两个数据的比较,随着向前推进,终究会到达数据的末尾,最后最大的数据就被放置在了这些数据的最后一位,那么下一轮的比较就不在需

    要对这一已经找到的最大的数据进行比较了,则这一次的比较只需要进行到上一次找出的最大数据的上一位(左移一位)即可,这样的移位也就被

    称为外层控制。

  代码实现:  

posted on 2013-06-14 08:05  滴水檐  阅读(177)  评论(0)    收藏  举报