Java实现排序算法之冒泡排序
2015-10-27 22:01
477 查看
冒泡排序的思想:
将带排序的序列两两进行比较,较大的一个“冒泡”,“冒泡”即如果下标为A 与B的数据比较,A 大则与B交换位置,否则就不交换位置,交换位置后,此时B的位置编程A,B 的下一个位置是B,两者在进行比较,每进行一轮排序,总是较大的数排在剩下序列的最高位,也因此为冒泡排序。
什么情况下使用:
在已知待排序列中,只有少部分是无序的,这时考虑使用冒泡排序是高效的。
稳定性:
相同的数在比较后,这两个数的前后位置没有发生变化,则该算法是稳定,因此冒泡排序是稳定的算法。
时间复杂度和空间复杂度:
时间复杂度:O(n^2),空间复杂度:O(1)
算法实现:
将带排序的序列两两进行比较,较大的一个“冒泡”,“冒泡”即如果下标为A 与B的数据比较,A 大则与B交换位置,否则就不交换位置,交换位置后,此时B的位置编程A,B 的下一个位置是B,两者在进行比较,每进行一轮排序,总是较大的数排在剩下序列的最高位,也因此为冒泡排序。
什么情况下使用:
在已知待排序列中,只有少部分是无序的,这时考虑使用冒泡排序是高效的。
稳定性:
相同的数在比较后,这两个数的前后位置没有发生变化,则该算法是稳定,因此冒泡排序是稳定的算法。
时间复杂度和空间复杂度:
时间复杂度:O(n^2),空间复杂度:O(1)
算法实现:
public static void bubbleSort(int[] s){ int temp=0; for(int i=0;i<s.length-1;i++){ for(int j=0;j<s.length-i-1;j++){ if(s[j]>s[j+1]){ temp=s[j]; s[j]=s[j+1]; s[j+1]=temp; } } } }
相关文章推荐
- java基础 集合框架 简单总结
- MyEclipse 10 集成Maven
- java --配置文件读取
- (转)SpringSecurity扩展User类,获取Session
- spring+mybatis多数据源配置
- Java:多线程之生产者与消费者
- java Vamei快速教程11 对象引用
- 矩阵------顺时针打印矩阵+顺时针旋转矩阵+之字形打印矩阵(Java)
- java工厂模式
- Eclipse 工作目录被破坏,导致Eclipse 打不开
- Java:多线程
- .以及JDK1.5ConcurrentHashMap新特性
- 记录-Head first java-1到3章
- java中Iterator和Iterable的区别
- Spring controller
- 1、Ant编译一般Java项目的步骤
- Java 对类中的属性使用set/get方法的意义和用法
- 在eclipse 上配置maven
- java Vamei快速教程10 接口的继承和抽象类
- eclipse中android结构整理