排序

Java数据结构和算法(三)——冒泡、选择、插入排序算法

霸气de小男生 提交于 2019-12-02 04:31:53
1、冒泡排序   这个名词的由来很好理解,一般河水中的冒泡,水底刚冒出来的时候是比较小的,随着慢慢向水面浮起会逐渐增大,这物理规律我不作过多解释,大家只需要了解即可。   冒泡算法的运作规律如下:   ①、比较相邻的元素。如果第一个比第二个大,就交换他们两个。   ②、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数(也就是第一波冒泡完成)。   ③、针对所有的元素重复以上的步骤,除了最后一个。   ④、持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。          代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 package com.ys.sort; public class BubbleSort { public static int [] sort( int [] array){ //这里for循环表示总共需要比较多少轮 for ( int i = 1 ; i < array.length; i++){ //设定一个标记,若为true

MYSQL order by排序与索引关系总结

▼魔方 西西 提交于 2019-12-01 12:18:57
我们平常所说的索引,如果没有特别指明,都是指B+树结构组织的B-Tree索引。其中聚集索引,次要索引,覆盖索引,复合索引,前缀索引,唯一索引默认都是使用B+树索引,统称索引。当然,除了B+树这种类型的索引之外,还有哈稀索引(hash index)等。 MySQL InnoDB B-Tree索引使用Tips 这里主要讨论一下InnoDB B-Tree索引的使用,不提设计,只管使用。B-Tree索引主要作用于WHERE和ORDER BY子句。这里讨论的均在MySQL-Server-5.1.42测试 CREATE TABLE `friends` ( `ID` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, `uid`bigint(20) UNSIGNED NOT NULL DEFAULT '0', `fuid` bigint(20) UNSIGNED NOT NULL DEFAULT'0', `fname` varchar(50) NOT NULL DEFAULT '', `fpicture` varchar(150) NOT NULL DEFAULT'', `fsex` tinyint(1) NOT NULL DEFAULT '0', `status` tinyint(1) NOT NULL DEFAULT '0',PRIMARY KEY (`ID`

SQL 左连接(left join) 排序 分页 中遇到的未按理想状态排序分页的解决方案

落花浮王杯 提交于 2019-11-30 17:31:06
SELECT a.id AS "id", a.code AS "code", a.name AS "name", a.type AS "type", a.importance_degree AS "importanceDegree", a.tech_state AS "techState", a.customerid AS "customerid", a.departmentid AS "departmentid", a.project_managerid AS "projectManagerid", a.plan_starttime AS "planStarttime", a.plan_endtime AS "planEndtime", a.state AS "state", a.act_starttime AS "actStarttime", a.act_endtime AS "actEndtime", a.sending_time AS "sendingTime", a.old_plan_starttime AS "oldPlanStarttime", a.old_plan_endtime AS "oldPlanEndtime", a.delivery_time AS "deliveryTime", a.complete_status AS "completeStatus",

为KindEditor图片批量上传功能添加排序支持

只谈情不闲聊 提交于 2019-11-29 19:31:41
KindEditor有个图片批量上传是个很实用的功能,但是在使用过程发现一个问题:组件只提供一个“全部插入”按钮,一次性按照添加文件顺序一次性把所有图片依次插入编辑器,没法方便的调整插入图片的顺序。 经过一些代码分析,考虑采用集成JQuery UI Sortable特性为图片列表元素添加拖拉排序支持,但是由于KindEditor没有提供相关的回调方法,目前只能直接修改代码实现,具体在SWFUpload区域的appendFile方法最后添加如下代码: //FIXED: Add sortable support $("div[data-id='"+file.id+"']").parent().sortable({ items: "> div" }); 这样就可以上传窗口界面随意调整图片元素顺序,然后批量插入编辑器了。注意:前提需要引入JQuery UI组件,测试版本:KindEditor 4.1.7,JQuery UI 1.10.0 BTW,此特性已集成到S2JH框架:基于SSH的企业Web应用开发框架S2JH: http://www.oschina.net/p/s2jh 来源: oschina 链接: https://my.oschina.net/u/151176/blog/177942

MapReduce统计词语出现次数

五迷三道 提交于 2019-11-27 19:09:51
晨曦同学(Dota界号称利神)前段时间分享了这样一个问题:如何在一个很大的文件中(该文件包含了中英文)找出出现频率比较高的几个词呢?我们来分析一下。找出现频率比较高的词语,首先要有一个支持中文的分词器(IK,庖丁解牛等等),这个问题不大;分词之后呢就要统计词语出现次数,类似于MapReduce程序中WordCount,这可是学习MapReduce的hello world程序呀,当然很容易搞定;最后还要来个排序,统计完了我们期望出现次数高的词语出现在前面,MapReduce默认就支持排序,也没问题。 解决这个问题需要两个Job,一个是统计Job,一个是排序Job。 统计Job的Mapper需要做的事情就是分词,这里我们选用IKanalyzer分词器,可能IK在官网上不好下载,我给大家准备好了, 点此下载 。分词之后,将每个单词个数置为1(跟WordCount程序一样)。 public static class AnalyzerMapper extends Mapper<Object, Text, Text, IntWritable> { private final static IntWritable one = new IntWritable(1); private Text word = new Text(); @Override protected void map