冒泡排序java
来源:互联网 发布:淘宝千牛自动回复短语 编辑:程序博客网 时间:2024/06/01 21:03
- 时间复杂度:O(n^2)
- 若原数组本身有序,只需n-1次比较就可完成。若是倒序,比较次数为(n-1)+(n-2)+(n-3)+…1 = n(n-1)/2,交换次数和比较次数等值。
public class BubbleSort { public static <AnyType extends Comparable<? super AnyType>> void bubbleSort(AnyType[] a, int left, int right) { for (int i=0; i<a.length-1; i++) { boolean flag = true; //设定一个标记,若为true,则表示此次循环没有进行交换,也就是待排序列已经有序,排序已然完成 for (int j=0; j<a.length-1-i; j++) { if (a[j].compareTo(a[j+1]) > 0) { swapReferences(a, j, j+1); print(a); flag = false; } } if (flag) { break; } } }
交换方法:
public static <AnyType extends Comparable<? super AnyType>> void swapReferences( AnyType [] a, int left, int right) { AnyType tmp = a[left]; a[left] = a[right]; a[right] = tmp; }
阅读全文
0 0
- Java 排序 - 冒泡排序
- 冒泡排序(java版)
- 冒泡排序(JAVA)
- java 冒泡排序法
- java冒泡排序
- Java BubbleSort(冒泡排序)
- java 冒泡排序
- java 冒泡排序算法~~~
- java冒泡排序算法
- JAVA中冒泡排序
- java冒泡排序!
- java冒泡排序算法
- java实现冒泡排序
- JAVA 冒泡排序
- Java实现冒泡排序
- java冒泡排序算法
- java冒泡排序!
- java 冒泡排序
- 给深度学习入门者的Python快速教程
- Spring(3)配置文件没有提示的问题
- JavaScript计算机和购物总价和
- windows下安装TensorFlow
- c++中的vector
- 冒泡排序java
- nginx+tomcat+redis(session共享)实现负载均衡,动静分离
- 自定义view圆滑动
- Codeforces 875C National Property 题解
- 【linux】linux定时监控和维护特定服务
- MyBatis入门到精通
- ubuntu安装shadowsocks-qt5只需要三行命令
- go语言入门<一>go语言安装
- 偏向锁,轻量级锁,自旋锁,重量级锁的详细介绍