冒泡排序(Bubble Sort)
一、什么是冒泡排序
冒泡排序是一种简单的排序算法。其基本思想是:两两比较相邻元素的大小,若两元素反序,则交换两元素位置,直至没有反序为止。
假设从小到大排序,两两比较之后,较大的慢慢往后排,较小的数慢慢往前排,最终完成从小到大的排序。这个过程类似于水中冒泡,所以叫冒泡排序。
二、算法的基本描述
假设有n(n>1)个元素需要按从小到大顺序排列,冒泡排序算法如下:
第一次遍历:
1、比较第1个元素与第2个元素的大小,若第1个元素大于第2个元素,则交换两者位置;若第1个元素小于等于第2个元素,则不交换位置;
2、接着比较交换后第2个元素和第3个元素的大小并按结果交换位置;依次比较相邻元素直至第(n-1)个元素和第n个元素完成比较及位置交换,总计比较(n-1)次,将最大值放在序列最末位;
第二次遍历:
将第二大的元素放在倒数第二位;
… …
第(n-1)次遍历: