起泡排序:
排序方法:相邻两个元素的关键字进行比较,小的元素向上冒,大的元素向下沉
起泡排序示例:
初始 关键字 |
第一趟 排序后 |
第二趟 排序后 |
第三趟 排序后 |
第四趟 排序后 |
第五趟 排序后 |
第六趟 排序后 |
---|---|---|---|---|---|---|
49 | 38 | 38 | 38 | 38 | 13 | 13 |
38 | 49 | 49 | 49 | 13 | 27 | 27 |
65 | 65 | 65 | 13 | 27 | 38 | 38 |
97 | 76 | 13 | 27 | 49 | 49 | 49 |
76 | 13 | 27 | 49 | 49 | 49 | 49 |
13 | 27 | 49 | 65 | 65 | 65 | 65 |
27 | 49 | 76 | 76 | 76 | 76 | 76 |
49 | 97 | 97 | 97 | 97 | 97 | 97 |
代码实现:
说明:本博客的代码实现贴近数据结构(C语言版) 课本代码风格,使用抽象数据类型。
项目结构
以下文件代码与直接插入排序时所用相同,为避免大量代码重复此处不再附上。
详情可参考直接插入排序: