博主主页:LiUEEEEE
C语言专栏
数据结构专栏
力扣牛客经典题目专栏
目录
- 1、冒泡排序的基本思想
- 2、冒泡排序的动态示意图
- 3、冒泡排序的实现
- 4、结语
1、冒泡排序的基本思想
基本思想:冒泡排序是一种简单的交换排序,其原理就是交换,即根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置,交换排序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动。
2、冒泡排序的动态示意图
3、冒泡排序的实现
冒泡排序的逻辑就是遍历数组,对数组每一位即其后一位元素进行比较,若满足比较条件(升序或降序),就将其元素进行交换,并进行下一次循环,若数组有n个成员,根据两两比较的原则,则需要比较n - 1次,即需遍历数组n - 1次,故根据其逻辑。
- 具体代码如下所示:
void BubbleSort(int* a, int n)
{for (int i = 0; i < n - 1; i++){for (int j = 0; j < n - i - 1; j++){if (a[j] > a[j + 1]){Swap(&a[j], &a[j + 1]);}}}
}
冒泡排序的特性总结:
- 冒泡排序是一种非常容易理解的排序
- 时间复杂度:O(N^2)
- 空间复杂度:O(1)
- 稳定性:稳定
4、结语
十分感谢您观看我的原创文章。
本文主要用于个人学习和知识分享,学习路漫漫,如有错误,感谢指正。
如需引用,注明地址。