交换排序----冒泡排序----java实现
来源:互联网 发布:模拟退火算法 c语言 编辑:程序博客网 时间:2024/06/05 15:16
冒泡排序:
第1趟:依次比较0和1、1和2.......n-2和n-1索引位置的元素,如果发现一个数比他后面的数大,则交换着两个数的位置,经过第一趟排序,最大的数排在了数组的最后面。
第2趟:依次比较0和1、1和2.......n-3和n-2索引位置的元素,如果发现一个数比他后面的数大,则交换着两个数的位置,经过第2趟排序,0-n-2区间中最大的数排在了数组的倒数第二个位置。
.......
第n-1趟排序:比较0和1,如果发现一个数比他后面的数大,则交换着两个数的位置。
实际上冒泡排序的每趟交换结束,不仅可以得到当前的最大值,还能部分有序前面其他的元素,如果某趟一次交换也没有发生,说明数组已经全部有序,可以提前结束。
public void bubbleSort(int[] array) { //需要进行n-1趟交换for (int i = 0; i < array.length-1; i++){boolean flag = false;//每趟交换for (int j = 0; j < array.length-1-i; j++){if(array[j] > array[j+1]){swap(array,j,j+1);flag = true;//如果进行交换了,则flag=true;}}//如果flag==false说明这趟没有进行一次交换,此时数组寂静全部有序,可以退出程序if(flag == false){break;}} }private void swap(int[] array, int i , int j){int temp = array[j];array[j] = array[i];array[i]=temp;}
0 0
- 交换排序之冒泡排序Java实现
- 交换排序------冒泡排序(实现Java)
- java实现交换排序之冒泡排序
- 交换排序----冒泡排序----java实现
- Java实现交换排序 之 冒泡排序和快速排序
- 【交换排序】冒泡排序--Java
- Java分别实现冒泡排序、插入排序、快速排序、选择排序、交换排序
- 排序算法--交换排序(冒泡排序、快速排序、随机快速排序)java实现
- Java-----------交换排序之冒泡排序
- 交换排序:冒泡排序
- 交换排序-冒泡排序
- 交换排序-冒泡排序
- 交换排序-冒泡排序
- 冒泡排序-交换排序
- 【交换排序】冒泡排序
- 交换排序-冒泡排序
- 交换排序-冒泡排序
- 交换排序------冒泡排序
- centos7之lamp环境搭建
- SQL Server中用APPLY作成max(m, n)而非m*n的表连接效果
- 分区大于2TB时,使用Mbr分区无效了,用parted进行分区
- 软件版本命名常识
- 7.11__ 心灵终结
- 交换排序----冒泡排序----java实现
- 程序员的基础生存技能:搜索引擎
- 图像特征提取三大法宝:HOG特征,LBP特征,Haar特征
- Cocoapods的安装和使用
- javax.mail.AuthenticationFailedException: No authentication mechansims supported by both server and
- tushare module 1 --获取交易数据
- Android中Recyclerview使用3----添加条目得到点击事件和长按事件
- Android获取32位应用签名及如何判断该签名为debug还是release
- Table tr td th表格使用案例