page contents

如何进行冒泡排序?

轩辕小不懂 发布于 2021-10-09 15:31
阅读 475
收藏 0
分类:Golang
2113
Nen
Nen
- 程序员

冒泡排序顾名思义就是整个过程就像气泡一样往上升,单向冒泡排序的基本思想是(假设由小到大排序):对于给定的n个记录,从第一个记录开始依次对相邻的两个记录进行比较,当前面的记录大于后面的记录时,交换其位置,进行一轮比较和换位后,n个记录中的最大记录将位于第n位;然后对前(n-1)个记录进行第二轮比较;重复该过程直到进行比较的记录只剩下一个时为止。以数组{36, 25, 48, 12, 25, 65, 43, 57}为例,具体排序过程如下:一趟排序的过程如下:

R[1] 36 25 25 25 25 25 25 25R

[2] 25 36 36 36 36 36 36 36R

[3] 48 48 48 12 12 12 12 12R

[4] 12 12 12 48 25 25 25 25R

[5] 25 25 25 25 48 48 48 48R

[6] 65 65 65 65 65 65 43 43R

[7] 43 43 43 43 43 43 65 57R

[8] 57 57 57 57 57 57 57 65

则经过多趟排序后的结果如下:

初始状态:[36 25 48 12 25 65 43 57]

1趟排序:[25 36 12 25 48 43 57 65]

2趟排序:[25 12 25 36 43 48] 57 65

3趟排序:[12 25 25 36 43] 48 57 65

4趟排序:[12 25 25 36] 43 48 57 65

5趟排序:[12 25 25] 36 43 48 57 65

6趟排序:[12 25] 25 36 43 48 57 65

7趟排序:[12] 25 25 36 43 48 57 65

程序示例如下:

attachments-2021-10-kQWjLeDP61615472d2f03.jpg程序输出为

0 1 2 3 4 5 6 7 8 9

请先 登录 后评论