博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
排序一:冒泡以及三种优化
阅读量:6895 次
发布时间:2019-06-27

本文共 1957 字,大约阅读时间需要 6 分钟。

/**

 * 冒泡以及三种优化
 * */

public class One {    /**     * 经典    *N个数字要排序完成,总共进行N-1趟排序,每i趟的排序次数为(N-i)次      * */    public static void one(int[] arr) {            for(int i=0;i
arr[j]) { int temp = arr[j-1]; arr[j-1] = arr[j]; arr[j] = temp; } } } } /** *优化一 ,加入标志,判断上一轮是否有过交换 **/ public static void two(int[] arr) { boolean exchange = false; for(int i=0;i
arr[j]) { int temp = arr[j-1]; arr[j-1] = arr[j]; arr[j] = temp; if(!exchange) exchange = true; } } if(!exchange) break;//判断这一趟是否有交换数据,没有交换数据表明已经排好序 } } /** * 优化二,在每一趟中,对已经排好序的不去进行比较 * */ public static void three(int[] arr) { int end = 1; int pos = 1; while(end >0) { for(int j = 1;j
arr[j]) { int temp = arr[j-1]; arr[j-1] = arr[j]; arr[j] = temp; pos = j; } } end = pos - 1; } } /** * 优化三、每次循环,正反两次冒泡 * */ public static void four(int[] arr) { int temp =0; int low =0; int high = arr.length-1; int count =1;//躺数 while(low
arr[i+1]) { temp = arr[i+1]; arr[i+1] = arr[i]; arr[i] = temp; } } --high; //最后一个确定 for(int i = high ;i>low ;i--) { //确定最小值 if(arr[i] < arr[i-1]) { temp = arr[i+1]; arr[i+1] = arr[i]; arr[i] = temp; } } ++low;//第一个确定了 } } }

 

转载于:https://www.cnblogs.com/ZeGod/p/9969525.html

你可能感兴趣的文章
MySQL datetime && timestamp
查看>>
vNet-vNet Site-to-Site ××× Connecting
查看>>
【Visual C++】游戏开发笔记十四 游戏画面绘图(四) 华丽的CImage类
查看>>
Struts2的配置
查看>>
易维信(EVTrust)支招五大技巧识别钓鱼网站
查看>>
新手如何快速入门Java学习?
查看>>
为什么要学习Python?
查看>>
VMWareStation 12和CentOS 6.5 三节
查看>>
关于微信小程序登陆的问题
查看>>
从零开始的linux 第六章
查看>>
ssh远程登录
查看>>
10.28 rsync工具介绍 10.29/10.30 rsync常用选项 10.31 rsync
查看>>
手机web页面制作时的注意事项
查看>>
LINUX系统服务与管理(Services)---------第二天
查看>>
【Docker篇之一】Docker镜像及容器
查看>>
Linux 通过配置Cobbler服务器全自动批量安装部署
查看>>
单片机编程入门学习 这几问你能回答吗?
查看>>
在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或......
查看>>
【转】[行业透视] 外企九年-我最终选择放弃
查看>>
最终目标展示:一个完善的操作系统
查看>>