冒泡双向排序
来源:互联网 发布:卖域名的 编辑:程序博客网 时间:2024/05/16 15:49
转载请注明出处:http://blog.csdn.net/droyon/article/details/8785903
/** * 双向冒泡排序,从左向右冒泡排序,大数沉底,然后从右向左排序,小数冒泡。如此循环。 * @author * */public class BubbleTwoSort {private static int[] array = new int[]{1,8,2,9,3,7,11,23,90,4,5};public static void main(String args[]){ System.out.println("排序前"); printArray(); System.out.println("\n排序后"); bubbingTwoSort(); printArray(); } private static void bubbingTwoSort(){ int temp; int left=0; int right=array.length-1; int index=0; while(left <= right){ index++; for(int i=left;i<right;i++){ if(array[i]>array[i+1]){ temp = array[i]; array[i] = array[i+1]; array[i+1] = temp; } } //想看没一趟交换结果,打开下面输出 /*System.out.println("第"+index+"次正向冒泡"); printArray(); System.out.println();*/ right--; for(int j=right;j>left;j--){ if(array[j]<array[j-1]){ temp = array[j]; array[j]=array[j-1]; array[j-1] = temp; } } left++; //查看输出,打开以下输出 /*System.out.println("第"+index+"次反向冒泡"); printArray(); System.out.println();*/ } } public static void printArray(){ for(int i=0;i<array.length;i++){ System.out.print(array[i]+" "); } } }
输出结果:
排序前1 8 2 9 3 7 11 23 90 4 5 排序后1 2 3 4 5 7 8 9 11 23 90
- 双向冒泡排序法
- 双向冒泡排序法
- 双向冒泡排序算法
- 双向冒泡排序
- 双向冒泡排序
- 双向冒泡排序
- 双向冒泡排序
- java 双向冒泡排序
- 双向冒泡排序
- 冒泡双向排序
- 双向冒泡排序
- 双向冒泡排序
- 双向冒泡排序
- 双向冒泡排序
- 双向冒泡排序
- 双向冒泡排序
- 双向冒泡排序
- 双向冒泡排序
- 【转】SQL2005无法启动SQL Server 请求失败或服务未及时响应等问题的解决方案
- 内存分配相关
- 5天学会一种 web 开发框架
- IOS 推送消息 php做推送服务端
- 在windows平台删除mysql和apache服务
- 冒泡双向排序
- hudson与SVN安装配置
- [跟着hsp步步学习系统]oracle培训学习集锦全360度扫描(14)完全删除oracle
- 数组指针与指针数组的结合运用
- Oracle HowTo:如何在Oracle10g中启动和关闭OEM
- gcov+lcov C代码覆盖率 初识
- HTML5与搜索引擎优化
- 交换排序
- C++成员变量的初始化顺序问题