冒泡排序详解
算法思路
- 将数列中的第一个元素和第二个元素比较数值大小,若第一个元素比第二个元素大,则交换位置。
- 然后再将第二个元素和第三个元素比较数值大小,第三个元素和第四个元素比较…依次不断地比较,交换。
- 不断循环比较,直到不再发生交换,这就表明排序已完成,此时得到就是一个有序数列。
简单来说就是不断循环比较数列中相邻元素的数值大小,根据数组大小关系通过交换位置来调整元素中的位置,直到数列中所有的元素位置不再发生改变。
示例讲解
例如:对一个含有4个元素的数列:6,4,9,5 进行从小到大排序
第一趟(第一次循环):
初态 | i=0 | i=1 | i=2 |
---|---|---|---|
6 | 4 | 4 | 4 |
4 | 6 | 6 | 6 |
9 | 9 | 9 | 5 |
5 | 5 | 5 | 9 |
1. i=0
第一次先将最前面的两个数6和4比较,6比4大,因此将4和6的位置交换
6,4,9,5 --> 4,6,9