java算法之一冒泡排序(交换排序)
来源:互联网 发布:天金加银软件下载 编辑:程序博客网 时间:2024/05/01 19:36
最近重新把算法也同步整理一遍,虽然平时用的少,但至少是一种思想,对于编程的影响还是有的。
冒泡排序算是我大学以来唯一印象深刻且现在还记得的算法,原因因为非常简单却不是经典。
一个存放着无序数字的数组,如何使之进行有规律的排序。于是冒泡算法就提供了两个for循环嵌套(第一个位置和第二个位置的比较,如果大于就对换位置,否则就继续第二个位置和第三个位置进行比较,以此类推,第一轮结束后,最大的数字就已经放置在数组的最后一个位置上了),从而解决了从小到大的排序问题(同理从大到下)。 代码贴如下:
/*
* 冒泡排序
*/
public class BubbleSort {
public void bubble(Integer[] data){ for(int i=0;i<data.length;i++){ for(int j=0;j<data.length-1-i;j++){ if(data[j]>data[j+1]){ //如果后一个数小于前一个数交换 int tmp=data[j]; data[j]=data[j+1]; data[j+1]=tmp; } } }}
}
这样就实现了冒泡排序,不过这种效率不是最好的,时间复杂度是O(n²)。
改进效率请参考快速排序。
1 0
- java算法之一冒泡排序(交换排序)
- Java排序算法(六)--冒泡排序(交换排序)
- 算法分析之排序:交换排序之一——冒泡排序(BubbleSort)
- JAVA排序算法之一冒泡排序
- JAVA八大排序算法之一冒泡排序
- 排序算法--交换排序(冒泡排序、快速排序、随机快速排序)java实现
- 排序算法----交换排序(冒泡排序,快速排序)
- 算法排序-交换排序(冒泡排序,快速排序)
- 交换排序------冒泡排序(实现Java)
- java实现排序算法之交换排序(冒泡排序和快速排序)
- 【Java常用排序算法】交换排序(冒泡排序、快速排序)
- 【交换排序】冒泡排序--Java
- 【算法-排序之一】冒泡排序
- 【算法-排序之一】冒泡排序
- 【算法-排序之一】冒泡排序
- 【算法-排序之一】冒泡排序
- 算法分析-交换排序(冒泡排序 & 快速排序)
- 排序算法_C++(四)交换排序之冒泡排序
- 虚函数和抽象类基础知识
- 线性算术的C++模板库 Eigen(在VS2010中的下载、配置与使用)
- 黑马程序员---网络编程(TCP传输)
- ssh框架里面添加数据时,jsp页面中文输入显示问号?解决方法
- JAVA中StringBuffer类常用方法详解
- java算法之一冒泡排序(交换排序)
- iOS应用内部切换语言,不跟随系统
- Android项目Ant命令与问题记录
- 基于XMPP协议的即时通讯教程附Demo
- 95 NSURLSession 断点续传
- PHP sprintf函数
- C的数组
- Enocean Serial Protocol 3 常用测试命令
- Android Toast连续点击只弹一次