文档章节

效率较高的冒泡排序

skyheng
 skyheng
发布于 2016/08/02 09:13
字数 151
阅读 2
收藏 0
<span style="font-size:14px;">
import java.util.Arrays;  
public class BubbleSort {  
    public int[] sort(int[] source){  
        int[] dest=new int[source.length];  
        System.arraycopy(source, 0, dest, 0, source.length);  
        boolean change=true;  
        int temp=0;  
        //外层循环的退出条件是全部比较结束(i>=1),或一趟比较中没有发生位次的改变(change==false)  
        for(int i=dest.length-1;i>=1&&change;i--){  
            change=false;  
            for(int j=0;j<i;j++){  
                if(dest[j]>dest[j+1]){  
                    temp=dest[j];  
                    dest[j]=dest[j+1];  
                    dest[j+1]=temp;  
                    change=true;  
                }  
            }  
        }  
        return dest;  
    }  
    /** 
     * @param args 
     */  
    public static void main(String[] args) {  
        // TODO Auto-generated method stub  
        BubbleSort bubbleSort=new BubbleSort();  
        int[] source=new int[]{2,5,1,4,9,12,10,7,25};  
        int[] dest=bubbleSort.sort(source);  
        for(int i=0;i<dest.length;i++){  
            System.out.println(dest[i]);      
        }  
    }  
}  </span>

本文转载自:http://blog.csdn.net/skychenjh/article/details/46043991

共有 人打赏支持
skyheng
粉丝 0
博文 18
码字总数 0
作品 0
深圳
程序员
趣题一则:交替放置的碟子

有数量为2n的一排碟子,n黑n白交替放置。现在要把黑碟子都放在右边,白碟子都放在左边,但只允许通过交换相邻碟子的位置来实现。实现这个过程要交换多少次? 分析 首先把问题转化一下,用1表...

长征3号
2017/12/13
0
0
使用概率算法优化快速排序(JAVA)

前言   前面一篇文章系统介绍了快速排序算法,提到快速排序虽然平均时间复杂度为o(n*log2(n)),效率相对比较高。但是其在特殊情况下,比如降序的情况下,效率和冒泡排序一致,这就削弱了快...

林天涯
01/02
0
0
怎么判断那种排序算法和查找算法更适用当前

排序和查找算法那麽多,但是那些方法更好? 那些方法更有优势? 自己应该主要掌握那几张算法 ? 或者自己当前的数据应该怎么排序或者查找? 今天我们来对应一个实际问题来搭配使用排序算法以...

KiTok
2017/11/07
0
0
Unity 游戏中 排序算法和查找算法记录

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/KiTok/article/details/78470287 Hello ,I am Edwin 首先谢谢大家的支持,其次如果你碰到什么其他问题的话,欢...

KitStar
2017/11/07
0
0
排序——冒泡排序法

一、冒泡排序法概述 冒泡排序法的基本思想是:对待排序记录关键字从后往前(逆序)进行多遍扫描,当发现相邻两个关键字的次序与排序要求的规则不符时,就将这两个记录进行交换。这样,关键字...

翼动动空
2016/06/05
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

svn 常用操作命令及问题处理

1. 常用命令 1.1. 基本使用 检出 checkout ➜ svn co repo_url -m '检出代码'➜ svn co repo_url saved_dir_name -m '检出代码,并指定目录名' 加入版本控制 add # 添加指定文件➜ svn...

whoru
34分钟前
3
0
记一次jquery validate的扩展(第一次失去焦点时触发校验)

最近在用jquery.validate 做前端表单校验,但是发现每次第一次失去焦点时,如果文本框内容为空,且该字段是必填项, 则不会触发校验,直到提交表单后,再次失去焦点时,才会触发,想对此进行...

foreach
39分钟前
1
0
java生成UUID

UUID介绍: UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。按照开放软件基金会(OSF)制定的标准计算,用到了以...

编程SHA
42分钟前
1
0
Docker Compose 原理

Docker 的优势非常明显,尤其是对于开发者来说,它提供了一种全新的软件发布机制。也就是说使用 docker 镜像作为软件产品的载体,使用 docker 容器提供独立的软件运行上下文环境,使用 dock...

Java干货分享
55分钟前
0
0
解决过滤器中设置cookie无效的问题

解决过滤器中设置cookie无效的问题 代码现场 filterChain.doFilter(sessionSyncRequestWrapper, response);Cookie emailCook = WebServletUtil.getSelectedCookie(request.getCookies(), ......

黄威
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部