冒泡排序法(Bubble Sorting)是一种交换排序方法
基本思想:
每次仅进行相邻两个元素的比较,若为逆序(a(i)>a(i+1)),则将两个元素交换。
排序过程:
先将第一个元素和第二个元素进行比较,若为逆序,则交换之;接着比较第二个和第三个元素;依此类推,直到第n-1个元素和第n个元素进行比较、交换为止。如此经过一趟排序,使最大的元素被安置到最后一个元素的位置上。然后,对前n-1个元素进行同样的操作,使次大的元素被安置到第n-1个元素的位置上。重复以上过程,直到没有元素需要交换为止。
举例说明:
原始待排序数组【7 | 3 | 1 | 2 | 6 | 0】
从小到大排序
第一趟排序(外循环)
第一次两两比较 7>3 交换(内循环)
交换前状态【7 | 3】| 1 | 2 | 6 | 0 |
交换后状态【3 | 7】| 1 | 2 | 6 | 0 |
第二次两两比较 7>1 交换(内循环)
交换前状态 | 3 |【7 | 1】| 2 | 6 | 0 |
交换后状态 | 3 |【1 | 7】| 2 | 6 | 0 |
第三次两两比较 7>2 交换(内循环)
交换前状态 | 3 | 1 |【7 | 2】| 6 | 0 |
交换后状态 | 3 | 1 |【2 | 7】| 6 | 0 |
第四次两两比较 7>6 交换