选择排序算法的Java实现 2016年10月16日 10 阅读 1,采用选择排序对元素进行排列时,元素之间需要进行比较,因此需要实现Comparable<T>接口。即,<T extends Comparable<T>>. 更进一步,如果允许待比较的类型可以和它的父类型进行比较,则需要写成:<T extends Comparable<? super T>, 其中<? super T> 表示 T 的任意超类。2,SelectionSortArray.java...
Java实现具有迭代器的线性表(顺序表) 2016年10月16日 10 阅读 1,先了解下JAVA类库中的迭代器:JAVA提供了两种基本类型的迭代器,分别用两个接口来表示:Iterator<T>,ListIterator<T>。其中,Iterator<T>接口中只定义了三个方法:hasNext()、iterator()、next(),而ListIterator<T>中,除了拥有前面所述的三种方法外,而另外拥有hasPrevious()、previous()、remove()、set()...
使用Java数组实现顺序栈 2016年10月16日 10 阅读 1,首先总结一下线性表(分为顺序表和链接表,【即顺序存储结构和链式存储结构的区别】)和栈(顺序栈和链接栈)还有队列(顺序队列和链接队列)的JAVA类库中的实现:java.util.ArrayList 实现了顺序表,java.util.LinkedList 实现了链接表的功能。java.util.ArrayDeque实现了顺序栈和顺序队列(该类中即定义了与栈操作有关的方法,也定义了与队列操作有关的方法)、java.util.LinkedList实现了链接栈和...
使用Java数组实现顺序表 2016年10月16日 10 阅读 1,引入了JAVA泛型类,因此定义了一个Object[] 类型的数组,从而可以保存各种不同类型的对象。2,默认构造方法创建了一个默认大小为16的Object数组;带参数的构造方法创建一个指定长度的Object数组3,实现的顺序表的基本操作有:返回表的长度、获取指定索引处的元素(注意是索引,而不是位置。索引以下标0开始,位置以下标1开始)、按值查找数据元素的位置、直接插入元素(顺序表尾部)、向指定位置插入元素、直接删除元素(在顺序表尾部)、删除指定索引处元素...
贪心算法之活动选择问题--求解现实问题的思路 2016年10月16日 11 阅读 参考《算法导论第二版P222页)算法导论 原书第2版 高清PDF及答案 下载见 http://www.linuxidc.com/Linux/2015-05/117756.htm一,如何把现实的问题转变成数学问题?即数学建模的思路?1,问题描述:现有一组相互竞争的活动,如何调度能够找出一组最大的活动(活动数目最多)使得它们相互兼容?2,问题转化:首先,按活动的结束时间单调递增进行排序。那么,为什么要按结束时间排序呢?这个问题留到后面解释。其次,定义合适的问题...
Node.js mysql pool使用实例 2016年10月16日 11 阅读 前段时间在写一个版本发布工具,用到express+mysql实现,当站点运行很长一段空白时间后,node进程会自动down掉,提示mysql连接错误,谷歌后发现是mysql自身的特性导致,因此后来改为mysql pool连解决次问题!mysql模块为felixge/node-mysql源码如下:/*** Created by kevalin on 2015/4/22.*/var express = require("express");var router...
C#的未来:方法契约 2016年10月16日 10 阅读 近些年来,开发者可以通过代码契约(Code Contracts)这个研究性项目获得添加方法级别契约的能力,但这种方式存在许多问题,它所使用的命令式语法相当冗长,并且通过工具提供的语法支持也很差。无论是开发类库或是应用程序,要完整的利用这一契约特性,必须要运行某种编译后指令。总的来说,这是一个有趣的项目,但要真正变得实用,还需要第一等的编译器与语法的支持。 第 119 号提议——方法契约旨在提供这种支持。这一语法要求在方法签名与方法...
用 Python 实现 各种排序算法 2016年10月16日 10 阅读 归并排序归并排序也称合并排序,是分治法的典型应用。分治思想是将每个问题分解成个个小问题,将每个小问题解决,然后合并。具体的归并排序就是,将一组无序数按n/2递归分解成只有一个元素的子项,一个元素就是已经排好序的了。然后将这些有序的子元素进行合并。合并的过程就是 对 两个已经排好序的子序列,先选取两个子序列中最小的元素进行比较,选取两个元素中最小的那个子序列并将其从子序列中去掉添加到最终的结果集中,直到两个子序列归并完成。代码如下:#!/usr/bin/py...
字符串最小周期串问题 2016年10月16日 10 阅读 问题描述:如果一个字符串可以由某个长度为n的字符串重复多次得到,则该串以n为周期。例如,abcabcabcabc以3为周期(注意,它也以6和12为周期)。输入一个长度不超过100的串,输出它的最小周期。样例输入:ChinaChinaChina样例输出:5问题分析:字符串可能有多个周期,但是只需求出最小的一个。可以从小到大枚举各个周期(即从1到字符串大小),一旦符合条件就立即输出。当不是周期串时输出的最小周期即为其本身长度。代码如下:#include <...
C++ 类型转换及RTTI 2016年10月16日 10 阅读 一、C++的4中类型转换我们应该比较熟悉C的类型转换即由圆括号和标识符组成,但是对于C的类型转换有时候到不到我们的要求,比如去除const 的类型转换,把一个指向基类的指针转化成指向子类的指针等等。下面就介绍C++引进的四个新的类型转换操作符,这四个操作符是:static_cast, const_cast, dynamic_cast, 和reinterpret_cast。1,const_cast 除去对象的常属性。转换的是表达式而非自身. 形式:const...
使用StickyListHeadersListView开源库 2016年10月16日 10 阅读 使用了StickyListHeadersListView这个库的项目很多,因为许多电话本都是用的这个效果,而且有很多项目都使用了这个效果来实现的层级导航:先看效果:主要的核心代码是一个Adapter,项目的github的README.md上给了一个示例,sample下也有一个比较麻烦的实现,我主要参考了这两个才明白了使用方式:Adapter代码:private class MyAdapter extends BaseAdapter implements S...
Java常用高级线程操作 2016年10月16日 10 阅读 针对Java线程操作一直不太明白,今天找了一本高级教材,有专门介绍Java7支持的线程操作,稍微记录一下各种类和使用条件1.synchronized对象锁使用synchronized来锁定一个对象,但是使用在类的方法中的时候会造成整个类的对象被锁,因此对于其他没有此关键字的标记也无法被其他线程操作。synchronized可以锁定任意代码块,可以锁定任意对对象作为代码块的锁。2.volatile进行线程同步volatile作为一个在内存和线程之间同步变量的...
字符串匹配算法的C/C++实现-算法导论 2016年10月16日 10 阅读 因为最近准备开始学习做一些小的Android项目练手,看上了系统级的三个应用,拨号盘,通讯录和短信,准备从最简单的拨号做起,但是因为这些应用中都不可避免的会有自动提示,我觉得设计到的就是字符串匹配问题,这里准备使用C语言来实现,将来通过JNI集成到应用当中。算法导论 原书第2版 高清PDF及答案 下载 http://www.linuxidc.com/Linux/2015-05/117756.htm1.首先是朴素匹配,实际上就是穷举:用C语言实现的函数我放到...
简单FadingActionBar的使用 2016年10月16日 10 阅读 这个库对于现如今使用的Compat版本的ActionBar和Toolbar支持根本没有,所以建议不要再学习如何使用此库。地址:https://github.com/ManuelPeinado/FadingActionBar上面的结果得出坑了我半天的时间,下面的结论的得出耗费了我另外2个小时的时间。1.首先,不要在AndroidStudio中使用v7的ActionBarActivity来作为parent,否则会出现NullPointer的异常。2.使用继承自...
Python中的tab补全 2016年10月16日 10 阅读 首先需要知道Python的读取路径>>> import sys>>> sys.path["", "/usr/lib64/python26.zip", "/usr/lib64/python2.6", "/usr/lib64/python2.6/plat-linux2", "/usr/lib64/python2.6/lib-tk", "/usr/lib64/python2.6/lib-old", "/usr/lib64/py...
Linux正则表达式 2016年10月16日 10 阅读 你可能熟悉一个计算器解释的表达式。请看下面的算术表达式:2+4"2加4" 出几个常数或字面值和一个操作符组成。计算器程序必须能够识别,例如, "2" 是数字常数而加号表示一个操作符,而不能解释为"+"字符。表达式告诉计算机如何产生结果。尽管我们真正想要的就是"2+4"的结果,但我们不能简单地告诉计算机返回6。我们指示计算机计算表达式并返回值。表达式可以比"2+4"更复杂,事实上,它由多个简单的表达式组成,例如:2+3*4计算器通常从左到右计算表达式。然而,...
Linux最简单的驱动编写及测试流程 2016年10月16日 11 阅读 本文采用nfs挂载网络文件系统的方式,手动创建设备节点,动态加载驱动模块,对理解驱动编写流程有很大好处!一、初级驱动执行流程:1、写好Makefile文件,里面包含将应用程序编译成app文件,将驱动程序编译成mydrv.ko文件的脚本2、在Ubuntu里执行sudo make3、确保mydrv.ko和app被拷贝到nfs挂载的根文件系统的/modules目录4、在模块中创建设备节点(在串口软件显示的开发板文件系统里执行)mknod /dev/dcx-drv...
iOS常量、变量、属性及其特性 2016年10月16日 11 阅读 1.Objective-C中声明常量使用关键字const。如:const double PI = 3.1514;2.Objective-C中变量可以分为成员变量、局部变量和全局变量(用的很少,尽量不要用)。//————————------------常量———————&mdash...
Android Studio 单刷《第一行代码——Android》系列 2016年10月16日 10 阅读 本系列将使用 Android Studio 将《第一行代码——Android》(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Android Studio 作为开发 IDE 的同学开路。关键词《第一行代码》:CSDN 知名博主郭霖所著,Android 入门书籍 下载见 http://www.linuxidc.com/Linux/2015-05/117920.htm。Android Studio ...
两分钟彻底让你明白Android Activity生命周期[图文] 2016年10月16日 10 阅读 大家好,今天给大家详解一下Android中Activity的生命周期,我在前面也曾经讲过这方面的内容,但是像网上大多数文章一样,基本都是翻译Android API,过于笼统,相信大家看了,会有一点点的帮助 ,但是还不能完全吃透,所以我今天特意在重新总结一下。首先看一下Android api中所提供的Activity生命周期图(不明白的,可以看完整篇文章,在回头看一下这个图,你会明白的):Activity其实是继承了ApplicationContext这个类...