博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
排序(一)冒泡排序
阅读量:5282 次
发布时间:2019-06-14

本文共 1483 字,大约阅读时间需要 4 分钟。

参考文章:

 

冒泡排序(Bubble Sort)

原理:依次比较两个相邻的元素,将值大的元素交换至右端。首先比较第1个和第2个数,将小数放前,大数放后。以此类推。直至全部排序完成。N个数字要排序完成,总共进行N-1趟排序,每i趟的排序次数为(N-i)次。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端,故名冒泡排序。
平均时间复杂度:O(n2)
最好时间复杂度:O(n2)
最坏时间复杂度:O(n2)
空间复杂度:O(1)
稳定性:稳定
举例说明:要排序数组:int[] arr={6,3,8,2,9,1};  

第一趟排序:

    第一次排序:6和3比较,6大于3,交换位置:  3  6  8  2  9  1
    第二次排序:6和8比较,6小于8,不交换位置:3  6  8  2  9  1
    第三次排序:8和2比较,8大于2,交换位置:  3  6  2  8  9  1
    第四次排序:8和9比较,8小于9,不交换位置:3  6  2  8  9  1
    第五次排序:9和1比较:9大于1,交换位置:  3  6  2  8  1  9
    第一趟总共进行了5次比较, 排序结果:      3  6  2  8  1  9
第二趟排序:
    第一次排序:3和6比较,3小于6,不交换位置:3  6  2  8  1  9
    第二次排序:6和2比较,6大于2,交换位置:  3  2  6  8  1  9
    第三次排序:6和8比较,6大于8,不交换位置:3  2  6  8  1  9
    第四次排序:8和1比较,8大于1,交换位置:  3  2  6  1  8  9
    第二趟总共进行了4次比较, 排序结果:      3  2  6  1  8  9
第三趟排序:
    第一次排序:3和2比较,3大于2,交换位置:  2  3  6  1  8  9
    第二次排序:3和6比较,3小于6,不交换位置:2  3  6  1  8  9
    第三次排序:6和1比较,6大于1,交换位置:  2  3  1  6  8  9
    第二趟总共进行了3次比较, 排序结果:         2  3  1  6  8  9
第四趟排序:
    第一次排序:2和3比较,2小于3,不交换位置:2  3  1  6  8  9
    第二次排序:3和1比较,3大于1,交换位置:  2  1  3  6  8  9
    第二趟总共进行了2次比较, 排序结果:        2  1  3  6  8  9
第五趟排序:
    第一次排序:2和1比较,2大于1,交换位置:  1  2  3  6  8  9
    第二趟总共进行了1次比较, 排序结果:  1  2  3  6  8  9

public static void bubbleSort(int[] nums) {        int temp;        for (int i = 0; i < nums.length; i++) {            for (int j = 0; j < nums.length-i-1; j++) {                if (nums[j] > nums[j+1]) {                    temp = nums[j];                    nums[j] = nums[j+1];                    nums[j+1] = temp;                }            }        }    }
View Code

 

 

转载于:https://www.cnblogs.com/amei0/p/8259881.html

你可能感兴趣的文章
Matlab parfor-loop并行运算
查看>>
string与stringbuilder的区别
查看>>
2012-01-12 16:01 hibernate注解以及简单实例
查看>>
iOS8统一的系统提示控件——UIAlertController
查看>>
PAT甲级——1101 Quick Sort (快速排序)
查看>>
python创建进程的两种方式
查看>>
1.2 基础知识——关于猪皮(GP,Generic Practice)
查看>>
迭代器Iterator
查看>>
java易错题----静态方法的调用
查看>>
php建立MySQL数据表
查看>>
最简单的线程同步的例子
查看>>
旅途上看的电影和观后感
查看>>
Ztree异步树加载
查看>>
关于IE和火狐,谷歌,Safari对Html标签Object和Embed的支持问题
查看>>
poj3320 Jessica's Reading Problem(尺取思路+STL)
查看>>
分布式计算开源框架Hadoop介绍
查看>>
安卓平台接口剖析
查看>>
坏的事情不都会带来坏的结果
查看>>
RPC的基础:调研EOS插件http_plugin
查看>>
第二次团队冲刺第二天
查看>>