冒泡排序算法原理及JAVA实现
2015-07-27 14:07
721 查看
冒泡排序法:关键字较小的记录好比气泡逐趟上浮,关键字较大的记录好比石块下沉,每趟有一块最大的石块沉底。
算法本质:(最大值是关键点,肯定放到最后了,如此循环)每次都从第一位向后滚动比较,使最大值沉底,最小值上升一次,最后一位向前推进(即最后一位刚确定的最大值不再参加比较,比较次数减1)
复杂度: 时间复杂度 O(n2)
,空间复杂度O(1)
JAVA源代码(成功运行)
算法本质:(最大值是关键点,肯定放到最后了,如此循环)每次都从第一位向后滚动比较,使最大值沉底,最小值上升一次,最后一位向前推进(即最后一位刚确定的最大值不再参加比较,比较次数减1)
复杂度: 时间复杂度 O(n2)
,空间复杂度O(1)
JAVA源代码(成功运行)
public class BubbleSort { public static void main(String[] args) { int[] array = { 49, 38, 65, 97, 76, 13, 27 }; bubbleSort(array); for (int i = 0; i < array.length; i++) { System.out.println(array[i]); } } public static void bubbleSort(int[] array) { int len = array.length; int temp; for (int i = 0; i < len - 1; i++) {//趟数 for (int j = 0; j < len - i - 1; j++) {//比较次数 if (array[j] > array[j + 1]) { temp = array[j]; array[j] = array[j + 1]; array[j + 1] = temp; } } } } }
相关文章推荐
- struts2上传
- java(JDBC连接数据库)[完整版封装]
- 红黑树 原理和算法详细介绍(Java)
- Java项目初学-------满汉楼----如何动态加载图片做背景?
- Java初学项目------满汉楼:工具栏+菜单栏
- 吸血鬼数字检验之java实现
- Spring Autowire自动装配
- java字段与属性的区别
- java发送邮件问题
- Java float保留两位小数或多位小数
- 【leetcode-16】3Sum Closest(java)
- Java取得指定年月的最大天数
- [Java]Leetcode69 Sqrt(x)
- Android Stuidio导入Eclipse的工程文件
- java纯数字加密解密实例
- eclipse查看方法说明时出现This element neither has attached source nor attached Javadoc and hence no Javadoc
- Spring 整合ibatis
- Java项目经验
- Java集合框架学习笔记
- mysql java前景