文档章节

效率较高的冒泡排序

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
排序——冒泡排序法

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

翼动动空
2016/06/05
1K
0
排序算法篇_冒泡排序法

image   冒泡排序法(Bubble Sort)是所有排序算法中最简单、最基本的一种。冒泡排序法的思路就是交换排序,通过相邻数据的交换来达到排序目的。 冒泡排序算法 冒泡排序算法通过多次比较和...

一笑小先生
01/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

java并发备忘

不安全的“先检查后执行”,代码形式如下: if(条件满足){ //这里容易出现线程安全问题//doSomething}else{//doOther} 读取-修改-写入 原子操作:使用CAS技术,即首先从V中读取...

Funcy1122
今天
0
0
SpringBoot2.0 停机

最近新建了个SpringBoot2.0的项目,因为原来一直使用的是传统的Tomcat部署war包的形式,所以这次SpringBoot内置Tomcat部署jar包的时候遇到了很多问题。其中一个就是因为没有外置的Tomcat容器...

Canaan_
昨天
0
1
Confluence 6 外部参考

一个外部参考的意思是任何站点链接到你 Confluence 的实例。任何时候当 Confluence 的用户单击这个外部链接的时候,Confluence 可以记录这次单击为参考。 在默认的情况下,外部链接的参考链接...

honeymose
昨天
0
0
Android中的设计模式之抽象工厂模式

参考 《设计模式解析》 第十一章 Abstract Factory模式 《设计模式:可复用面向对象软件的基础 》3.1 Abstract Factory 抽象工厂 对象创建型模式 《Android源码设计模式解析与实战》第6章 创...

newtrek
昨天
0
0
Redis | 地理空间(GEO)的一个坑

Redis的地理空间(Geo)是个好东西,轻轻松松的就可以把地图描点的问题处理了, 最近却遇到一个坑...Redis采用的Msater-Slave模式, 运用GEORADIUS在salve读取对应的数据,新增了从节点但是从不返...

云迹
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部