文档章节

[記錄]排序算法--冒泡

微微我信
 微微我信
发布于 2016/08/12 15:29
字数 177
阅读 4
收藏 0

一、冒泡排序

         思路:兩兩比較相鄰記錄,如果反序則交換

         冒泡排序時間複雜度最好爲O(n),最壞爲O(n^2)

         實現:

********************************************************************************

          public class BubbleSort{

                 public static void bubbleSort(int[] arr){

                        if(arr==null || arr.length==0) return;

                        for(int i=0; i<arr.length-1; i++){

                                for(int j=arr.length-1; j>i ; j--){

                                       if(arr[j] < arr[j-1]){

                                            swap(arr, j-1 , j);

                                        }

                                    }

                            }

                    }

 

 

                        public static void swap(int[] arr, int i, int j){

                                    int temp = arr[i];

                                    arr[i] = arr[j];

                                    arr[j] = temp;

                        }

            }

***************************************************************************************

 改進思路1:設置標識位,如果有一趟沒有發生交換(flag=false),說明排序已完成;

 改進思路2:記錄一輪下來標記的最後位置,下次從頭部遍歷到這個位置就ok。

© 著作权归作者所有

共有 人打赏支持
微微我信
粉丝 2
博文 30
码字总数 9136
作品 0
程序员
數據庫sql語句怎麼寫

現在數據庫中的一張表中有很多條記錄,其中有個字段是記錄的創建日期。這些記錄在表中是按此字段的升序產生的,且此列沒建索引。如: 2007-10-02 2008-03-02 ... 2011-10-05 2011-11-22 現在...

喜之郎
2011/11/22
314
4
簡單使用 iptables 記錄 LOG GNU Linux

man iptables man ip6tables http://www.frozentux.net/documents/iptables-tutorial/ *記錄所有要丟的包* 建一個新鍊 iptables -N LOGGING input 鏈尾加一個調件,你的 input 鏈應該是 DR......

莊博堯
2012/06/06
0
0
log4net日志信息输出格式

轉換字符 效果 a 等同於 appdomain appdomain Used to output the friendly name of the AppDomain where the logging event was generated. 用於輸出日誌事件發生的AppDomain的一個友好的名......

云颖
2013/12/27
0
0
oracle查看表被锁,以及解锁

查看锁表进程SQL语句1: select sess.sid, sess.serial#, lo.oracleusername, lo.osusername, ao.objectname, lo.lockedmode from v$lockedobject lo, dbaobjects ao, v$session sess where ......

吕兵阳
2014/06/16
0
0
处理oracle数据表进程锁死

查询 select sess.sid, sess.serial#, lo.oracle_username, lo.osusername, ao.object_name, lo.locked_mode from v$locked_object lo, dba_objects ao, v$session sess where ao.objectid =......

ardong
2016/12/21
6
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

OSChina 周三乱弹 —— 公司女同事约我

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子:分享水木年华的单曲《蝴蝶花(2002年大提琴版)》 《蝴蝶花(2002年大提琴版)》- 水木年华 手机党少年们想听歌,请使劲儿戳(这里) ...

小小编辑
5分钟前
12
4
Linux环境搭建 | VMware下共享文件夹的实现

在进行程序开发的过程中,我们经常要在主机与虚拟机之间传递文件,比如说,源代码位于虚拟机,而在主机下阅读或修改源代码,这里就需要使用到 「共享文件」 这个机制了。本文介绍了两种共享文...

良许Linux
今天
5
0
JUC锁框架——AQS源码分析

JUC锁介绍 Java的并发框架JUC(java.util.concurrent)中锁是最重要的一个工具。因为锁,才能实现正确的并发访问。而AbstractQueuedSynchronizer(AQS)是一个用来构建锁和同步器的框架,使用A...

长头发-dawn
今天
3
0
docker中安装了RabbitMQ后无法访问其Web管理页面

在官网找了"$ docker run -d --hostname my-rabbit --name some-rabbit -p 8080:15672 rabbitmq:3-management"这条安装命令,在docker上安装了RabbitMQ,,结果输入http://localhost:8080并不......

钟然千落
今天
4
1
spring-cloud | 分布式session共享

写在前面的话 各位小伙伴,你们有福了,这一节不仅教大家怎么实现分布式session的问题,还用kotlin开发,喜欢kotlin的小伙伴是不是很开心! 以前在写Android的时候,就对客户端请求有一定的认...

冯文议
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部