Java-死磕算法-排序-冒泡排序
2017-06-08 23:02
225 查看
冒泡排序的思想是比较相邻的两个元素,将大的数据置换到右边,一直换到不能再换为止。
函数为外层循环为遍历次数–数组长度-1 , 内层循环为依次比较相邻的两个元素,如果左边的大就换到右边。具体举例如下:
有一个数组:
int a [] = new int []{6,4,9};
算法为:
4与6比,如果4小于6则4和6换位置。(a[1]和a[0]比,如果a[0]大就换位置)
第一轮换完之后为:4,6,9
6与9比,如果6大于9则6和9换位置。(a[2]和a[1]比,如果a[1]大就换位置)
第二轮不满足置换条件,过!
由此得:
第一次可以将最大值放到最后。
第二次把第二大的数放到-1位置。
所以,总比较轮数为数组长度-1次,
算法实现动画:http://download.csdn.net/detail/manhgj/5309704
public void sort(int [] a){ int temp=0; for(int i = a.length-1; i>0 ; --i){ for(int j = 0 ; j<i;++j){ if(a[j+1] < a[j]){ temp = a[j]; a[j]= a[j+1]; a[j+1] = temp; } } } }
函数为外层循环为遍历次数–数组长度-1 , 内层循环为依次比较相邻的两个元素,如果左边的大就换到右边。具体举例如下:
有一个数组:
int a [] = new int []{6,4,9};
算法为:
4与6比,如果4小于6则4和6换位置。(a[1]和a[0]比,如果a[0]大就换位置)
第一轮换完之后为:4,6,9
6与9比,如果6大于9则6和9换位置。(a[2]和a[1]比,如果a[1]大就换位置)
第二轮不满足置换条件,过!
由此得:
第一次可以将最大值放到最后。
第二次把第二大的数放到-1位置。
所以,总比较轮数为数组长度-1次,
算法实现动画:http://download.csdn.net/detail/manhgj/5309704
相关文章推荐
- 我在北京找工作(二):java实现算法<1> 冒泡排序+直接选择排序
- 基于JAVA的排序算法之一--冒泡排序
- java必须知道的八大种排序算法:冒泡排序、 选择排序、插入排序、快速排序、希尔算法、归并排序算法、基数排序、堆排序算法
- 我在北京找工作(二):java实现算法<1> 冒泡排序+直接选择排序
- java实现排序算法之交换排序(冒泡排序和快速排序)
- Java经典排序算法之冒泡排序
- 黑马程序员—Java基础学习笔记之排序算法:选择排序&冒泡排序
- Java实现排序算法之冒泡排序
- Java常见排序算法之冒泡排序
- 用JAVA实现排序算法之一:冒泡排序
- JAVA排序算法之一冒泡排序
- I学霸官方免费教程二十八:Java排序算法之选择排序和冒泡排序
- 智渔课堂官方免费教程二十八:Java排序算法之选择排序和冒泡排序
- 【牛客网】直通bat-面试算法精品课_第2章 排序 2.2 冒泡排序练习题(JAVA版)
- JAVA常用排序算法之冒泡排序
- Java-数据结构与算法-选择排序与冒泡排序
- 算法系列(二)冒泡排序、选择排序、插入排序和希尔排序(Java实现)
- 算法学习之排序——冒泡排序及其改进算法(Java)
- 几种常见排序算法之Java实现(插入排序、希尔排序、冒泡排序、快速排序、选择排序、归并排序)
- Java算法排序之--冒泡排序、快速排序