效率较高的冒泡排序

<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>
时间: 2024-11-16 01:40:21

效率较高的冒泡排序的相关文章

for-关于循环这两个代码哪个效率更高?

问题描述 关于循环这两个代码哪个效率更高? 代码1: i=0; while(1) { for(i=0;i<25;i++) { a=1; } for(;i<50;i++) { a=0; } i=0; } 代码2: i=0; while(1) { i++; switch(i) { case 1: a=1; break; case 25: a=0; break; case 50: i=0; break; } } 解决方案 回复chezunyin: 不好说,不同的处理器执行不同的指令花费的时间不同,这

PHP 字符串长度判断效率更高的方法

 在php里当需要判断一个字符串长度时,我们首先想到的是strlen()函数,不错,strlen()返回的就是字符串的长度,这样使用没有任何问题.不过,如果要从php程序优化的角度来看,使用strlen()判断字符串长度未免是最好的写法 有经验的程序员发现,php判断字符串长度,使用isset()在速度上比strlen()更快,执行效率更高. 即:    代码如下: $str = 'aaaaaa'; if(strlen($str) > 6) VS if(!isset($str{6})   用例子

const 和enum 谁效率更高,占用资源更少

问题描述 const 和enum 谁效率更高,占用资源更少 asp.net 中 const 和enum 谁效率更高,占用资源更少 解决方案 这个应该区别不大

c++-ACM编程题,找出敏感词串,并删除,要求时间和空间效率很高,我写的程序通不过,

问题描述 ACM编程题,找出敏感词串,并删除,要求时间和空间效率很高,我写的程序通不过, Censorfrog is now a editor to censor so-called sensitive words (敏感词). She has a long text p. Her job is relatively simple -- just to find the first occurence of sensitive word w and remove it. frog repeats

涉及多张表 怎么查询,效率比较高的做法怎么做?&amp;quot;

问题描述 商品销售情况统计,Mysql数据库,涉及多张表 怎么查询,效率比较高的做法怎么做? 涉及的表是这样一个情况 商品表(商品ID xxx....商品信息的一些字段),订单表(订单ID,创建订单日期,订单总价 .....) ,订单详单表(订单ID,商品ID,价格,数量),然后现在的需求是 查询某一个时间段的 比如这个月的 商品销售情况 商品名称 订单总量 总的销售额 xxx 10 100 类似这种列表怎么查询,这边使用的是PHP+mysql数据库,希望能得到高手指点 讲讲思路就行,因为数据量

link环境下联合分组和串行分组的区别是什么?哪个效率比较高?

问题描述 link环境下联合分组和串行分组的区别是什么?哪个效率比较高? link环境下联合分组和串行分组的区别是什么?哪个效率比较高? 解决方案 不知道你说的联合分组串行分组是什么意思,分组就是groupby,还有就是按照组连接,是groupjoin

mysql-MySql和oracle的区别有哪些?哪个效率更高,是Oracle吗?

问题描述 MySql和oracle的区别有哪些?哪个效率更高,是Oracle吗? MySql和oracle的区别有哪些?哪个效率更高,是Oracle吗?如果是oracle效率更高,那怎么样让Mysql的效率比oracle更高? 解决方案 数据量小的用mysql,大的就用oracle吧 解决方案二: 数据库发展到现在,谁也没有什么"独门秘笈"了.这意味着其实各大数据库系统的效率其实差不多.但是一个好的dba写的查询可以比一个差的dba快100倍.算法和查询的写法才是你要关注的东西. 解决

C++ 6.0库函数排序,效率不高的问题

问题描述 C++ 6.0库函数排序,效率不高的问题 C++ 6.0库函数排序,对结构体排序,如何克服排序顺序紊乱的问题,是否需要用二次排序,如何提高排序的效率呢? 解决方案 用vector的sort函数看看,你只要传一个比较器就可以了. 解决方案二: 你可以用std list等试试

iPad将成为美国国会效率更高的利器

近日有消息称,美国众议院议员亨利·库勒(Henry Cuellar)近期在发表演说时携带了自己的iPad,这或许将改变美国国会的传统. 美国众议院议员此前大多拒绝使用科技产品.反对者认为,在国会中使用科技产品将带来麻烦,尤其考虑到国会议员的人数很多. 库勒周四在接受采访时谈到了为何使用iPad.他表示:"如果你去了解可以使用的技术,并以合适的方式利用这些技术,那么可以使国会的效率更高.通过iPad,我们可以获得许多即时信息."库勒表示,iPad可以用于实时地做研究,或是下载账单.他表示