文档章节

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

微微我信
 微微我信
发布于 2016/08/12 15:29
字数 177
阅读 4
收藏 0
点赞 0
评论 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
博文 24
码字总数 9136
作品 0
程序员
數據庫sql語句怎麼寫

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

喜之郎 ⋅ 2011/11/22 ⋅ 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

log4net日志信息输出格式

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

云颖 ⋅ 2013/12/27 ⋅ 0

linux目录架构

/ 根目录 /bin 常用的命令 binary file 的目錄 /boot 存放系统启动时必须读取的档案,包括核心 (kernel) 在内 /boot/grub/menu.lst GRUB设置 /boot/vmlinuz 内核 /boot/initrd 核心解壓縮所需...

brucema ⋅ 2012/04/15 ⋅ 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 ⋅ 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

数据库记录LOG-大有用处_已迁移

第一種: 查 Slow query 的 SQL 語法: logslowqueries = /var/log/mysql/mysql-slow.log longquerytime = 2 (超過 2秒的 SQL 語法記錄起來, 設短一點來記錄除錯也是一種方法 XD) 第二種: 設 ...

鬼谷子灬 ⋅ 2016/02/25 ⋅ 0

var/log记录

防火墙屏蔽了处理了一些暴力破解ssh密码的ip ,然后删除了所有的/var/log/secure* 日志文件。 今天再来查看日志的时候,发现/var/log/secure竟然没有记录,才想到直接删除日志文件的时候,对...

超级大黑猫 ⋅ 2016/10/17 ⋅ 0

常用的Android指令和模拟器参数

Android模擬器命令列啟動模式 在android-sdk-windows-1.1tools執行emulator以執行模擬器 加上-skin參數,指定顯示模式為HVGA-L,則可轉為橫向 使用mksdcard指令模擬1GB的記憶卡 模擬插入 SD...

红薯 ⋅ 2009/06/25 ⋅ 6

优化mysql插入性能

MYSQL優化之加速 INSERT插入一條記錄花費的時間由以下幾個因素決定,後面的數字大致表示影響的比例: 連接:(3) 發送查詢給服務器:(2) 解析查詢:(2) 插入記錄:(1 x 記錄大小) 插入索引:(...

五大三粗 ⋅ 2015/06/10 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

前台对中文编码,后台解码

前台:encodeURI(sbzt) 后台:String param = URLDecoder.decode(sbzt,"UTF-8");

west_coast ⋅ 32分钟前 ⋅ 0

VS2015配置并运行汇编(一步一步照图做)【vs2017的链接在最后】

前言 我是上学期学的汇编,因为有vs又不想用课上教的麻烦的dosbox以及masm32,但是一直没找到高亮插件和能调试的(难在运行不了而找不到答案上,出现的错误在最后放出,还请先达们不吝指点)...

simpower ⋅ 42分钟前 ⋅ 0

一起读书《深入浅出nodejs》-node模块机制

node 模块机制 前言 说到node,就不免得提到JavaScript。JavaScript自诞生以来,经历了工具类库、组件库、前端框架、前端应用的变迁。通过无数开发人员的努力,JavaScript不断被类聚和抽象,...

小草先森 ⋅ 45分钟前 ⋅ 0

Java桌球小游戏

其实算不上一个游戏,就是两张图片,不停的重画,改变ball图片的位置。一个左右直线碰撞的,一个有角度碰撞的。 左右直线碰撞 package com.bjsxt.test;import javax.swing.*;import j...

森林之下 ⋅ 52分钟前 ⋅ 0

你真的明白RPC 吗?一起来探究 RPC 的实质

你真的明白RPC 吗?一起来探究 RPC 的实质 不论你是科班出身还是半路转行,这么优秀的你一定上过小学语文,那么对扩句和缩句你一定不陌生。缩句就是去除各种修饰提炼出一句话的核心,而不失基...

AI9o後 ⋅ 54分钟前 ⋅ 0

z-index设置失效?

今天碰到了一个问题,就是在给li设置提示框的时候,有用到遮罩效果,本来想把对应的出现在最顶层,可是不管将li设置的z-index值设为多大,li都没有出现在遮罩层之上。 我在网上查了z-index设...

IrisHunag ⋅ 今天 ⋅ 0

CyclicBarrier、CountDownLatch以及Semaphore使用及其原理分析

CyclicBarrier、CountDownLatch以及Semaphore是Java并发包中几个常用的并发组件,这几个组件特点是功能相识很容易混淆。首先我们分别介绍这几个组件的功能然后再通过实例分析和源码分析其中设...

申文波 ⋅ 今天 ⋅ 0

Java对象的序列化与反序列化

Java对象的序列化与反序列化

Cobbage ⋅ 今天 ⋅ 0

Sqoop

1.Sqoop: 《=》 SQL to Hadoop 背景 1)场景:数据在RDBMS中,我们如何使用Hive或者Hadoop来进行数据分析呢? 1) RDBMS ==> Hadoop(广义) 2) Hadoop ==> RDBMS 2)原来可以通过MapReduce I...

GordonNemo ⋅ 今天 ⋅ 0

全量构建和增量构建的区别

1.全量构建每次更新时都需要更新整个数据集,增量构建只对需要更新的时间范围进行更新,所以计算量会较小。 2.全量构建查询时不需要合并不同Segment,增量构建查询时需要合并不同Segment的结...

无精疯 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部