冒泡排序的实现方法(Java)
来源:互联网 发布:会计报表软件 编辑:程序博客网 时间:2024/06/06 08:31
冒泡排序,从字面上的意思就能看出来,就想空气从水底冒出来一样。在排序中,这个往上冒的过程可以分成两种,第一是大的数字网上冒(结果为升序,判断的时候用>),第二就是小的数字往上冒(结果为降序,判断的时候用<)。下面给出几种实现方法:
1.0 简单粗暴型的双循环
public static void bubbleSortWithDoubleFor(int[] array){ for(int i = 0 ; i<array.length-1;i++){ for(int j = 0 ; j <array.length-1-i;j++){ int temp=array[j]; if(array[j]>array[j+1]){ array[j]=array[j+1]; array[j+1]=temp; }else{ continue; } } } }2.0 采用while的形式
public static void bubbleSortWithWhile(int[] array){ boolean ifChange; do{ ifChange=false; for(int i = 0 ; i < array.length-1;i++){ if(array[i]>array[i+1]){ int temp=array[i+1]; array[i+1]=array[i]; array[i]=temp; ifChange=true; } } }while(ifChange); }3.0 递归调用的形式
public static void bubbleSort(int[] array) { boolean isSorted = false; for (int i = 0; i < array.length - 1; i++) { if (array[i]>array[i + 1]) { int temp=array[i+1]; array[i+1]=array[i]; array[i]=temp; isSorted = true; } } if (!isSorted) { return; } bubbleSort(array); }
其实冒泡排序无论用何种方法实现,中心思想就是把大或者小的数往一头赶,然后得出排序的结果。时间复杂度上,当整个数组都是反序的,那么要改变n*(n-1)/2 也就是说最坏为n的平方。
阅读全文
0 0
- 冒泡排序的实现方法(Java)
- Java下的冒泡排序方法实现
- java实现的冒泡排序
- 冒泡排序的Java实现
- Java实现的冒泡排序
- 冒泡排序的java实现
- 冒泡排序的Java实现
- java冒泡排序的实现
- JAVA冒泡排序算法的几种实现方法
- 冒泡排序(java实现)
- 冒泡排序(java实现)
- 冒泡排序(JAVA实现)
- 冒泡排序(java实现)
- 冒泡排序(Java实现)
- 冒泡排序(java实现)
- 排序算法的java实现-冒泡排序
- Java程序实现冒泡排序、直接排序、插入排序方法
- 冒泡排序方法实现
- vue的一些认识(未完成)
- 二叉树的镜像
- 如何在mtk andorid6.0上添加一个I2C驱动(这里是添加一个FM 芯片驱动)
- Java最佳线程数
- 一对多映射(省份--城市)
- 冒泡排序的实现方法(Java)
- 类的加载机制,反射,内省,类的加密和自定义加载器
- H5页面上拉加载
- 03刷LeetCode
- sql 我没用过的写法~
- bzoj1083 [SCOI2005]繁忙的都市(kruskal裸题)
- 深入HBase架构解析(二)
- 抽奖
- 双向一对多映射(类型-子类型-商品)