Java排序算法-冒泡排序
来源:互联网 发布:平面设计软件分类 编辑:程序博客网 时间:2024/05/17 22:09
基本思想:
临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换,
这样一趟过去后,最大或最小的数字被交换到了最后一位,
然后再从头开始进行两两比较交换,直到倒数第二位时结束,因此冒泡排序需要n-1趟复杂度:
当最好的情况,也就是要排序的序列本身就是有序的,需要进行(n-1)次比较,没有数据交换,时间复杂度为O(n).
当最坏的情况,即待排序的表是逆序的情况,此时需要比较次数为:1+2+3+…+(n-1)=n(n-1)/2 次,并作等数量级的记录移动,因此总的时间复杂度为
代码实现:
public static void maoPaoSort(int[] array)
{
for(int i = 0 ;i < array.length-1;i++)
{
for(int j =0;j<array.length-1-i;j++)
{
if(array[j] > array[j+1])
{
swap(array, i, j);
}
}
}
}
阅读全文
0 0
- Java排序算法: 冒泡排序
- 排序算法-冒泡排序 java
- java 排序算法--冒泡排序
- Java排序算法--冒泡排序
- Java排序算法-冒泡排序
- 排序算法---冒泡排序[Java]
- java 冒泡排序算法~~~
- java冒泡排序算法
- java冒泡排序算法
- java冒泡排序算法
- java冒泡排序算法
- java 冒泡排序算法
- [java]冒泡排序算法
- java冒泡排序算法
- 冒泡排序算法(JAVA)
- java冒泡排序算法
- Java冒泡排序算法
- java冒泡排序算法
- 欢迎使用CSDN-markdown编辑器
- 深入理解JavaScript编程中的同步与异步机制
- Python-文件操作
- 全面理解面向对象的 JavaScript
- 《0day安全学习笔记》——ChapterII——变量覆盖详解
- Java排序算法-冒泡排序
- PLSQL的中文乱码显示全是问号
- 疯狂讲义随笔——canvas之arc()使用详解
- [FAQ15598][Common]C2K双卡项目通话界面输入“*#06#”显示MEID/IMEI的客制化
- maven 中央仓库 无法访问
- centos6.6搭建dns服务器
- 69道Spring面试题和答案
- 课堂练习三
- MySQL删除没有主键的表中的重复记录,只保留一条记录