排序算法之冒泡排序
来源:互联网 发布:tpm质量保全qc矩阵图 编辑:程序博客网 时间:2024/05/07 02:43
冒泡排序作为数据结构入门级的排序,优点是非常简单,但是性能实在太差,实际很少直接用冒泡排序,而且在相同时间复杂度的条件下,插入排序的性能要略优于冒泡,使得冒泡入门级的地位也岌岌可危,不过作为排序算法中的基石,还是要了解才行。
冒泡算法的要点:
- 算法思想
冒泡算法是从数组最后一个元素开始,向前依次两两对比,把较小的数往前交换,类似于轻泡泡浮上水面,因此称作冒泡(同样,反之亦可,遍历所有元素对,把较大或较小的值移到一边),因此不难想到冒泡需要一个双循环进行对比。冒泡排序的总循环次数是固定的,即使是在一个大致有序的数组里,冒泡排序仍然要做很多无用功,为此,可以为已经有序的部分做上标记,使得冒泡排序时可以跳过这一段,性能提高一些。
- 代码部分
冒泡排序部分(Bubble)
数组排序基础类
BaseSort)
- 代码说明
两个循环,每次都从最后一个数开始,依次向前比较,把较小的数放在前面
isSwap 表示是否交换过,true表示交换过,false表示没有,交换过则说明之前的数组元素不是按既定顺序排序,需要接着对比比较,而没有交换过表示之前的数组都已经按照既定顺序排序好,无需进行比较
冒泡算法是从数组最后一个元素开始,向前依次两两对比,把较小的数往前交换,类似于轻泡泡浮上水面,因此称作冒泡(同样,反之亦可,遍历所有元素对,把较大或较小的值移到一边),因此不难想到冒泡需要一个双循环进行对比。冒泡排序的总循环次数是固定的,即使是在一个大致有序的数组里,冒泡排序仍然要做很多无用功,为此,可以为已经有序的部分做上标记,使得冒泡排序时可以跳过这一段,性能提高一些。
冒泡排序部分(Bubble)
数组排序基础类
BaseSort)
两个循环,每次都从最后一个数开始,依次向前比较,把较小的数放在前面
isSwap 表示是否交换过,true表示交换过,false表示没有,交换过则说明之前的数组元素不是按既定顺序排序,需要接着对比比较,而没有交换过表示之前的数组都已经按照既定顺序排序好,无需进行比较
1 0
- 排序算法之冒泡排序
- 排序算法之冒泡排序
- 排序算法之冒泡排序
- 【排序算法】之冒泡排序
- 排序算法之冒泡排序
- 排序算法之冒泡排序
- 排序算法之冒泡排序
- 排序算法之冒泡排序
- 排序算法之冒泡排序
- 排序算法之冒泡排序
- 排序算法之冒泡排序
- 排序算法之冒泡排序
- 排序算法之冒泡排序
- 排序算法之冒泡排序
- 排序算法之冒泡排序
- 排序算法之-冒泡排序
- 排序算法之冒泡排序
- 排序算法之冒泡排序
- Real-Time Rendering 翻译 4.变换【下】
- Android 开发环境搭建
- 4.Notify消息流程
- 编译ceph
- VMware 常见使用问题梳理
- 排序算法之冒泡排序
- HDU 3709 Balanced Number(数位dp)
- C语言中堆和栈的区别
- gcc programming in mac
- 安卓自学
- 读取csv文件指定行列的元素/读取csv文件到数组
- 欢迎使用CSDN-markdown编辑器
- nginx解析漏洞允许缓存投毒攻击
- MySQL Optimization Part 3 - Indexes Operations