heap不属于STL容器,它扮演者priority queue的助手。heap是一种完全二叉树,可由数组来实现,但heap需要动态改变大小,所以最终选择了vector作为底层容器。STL默认提供最大堆。
题外话:分析heap的源码就能清楚的理解堆这种数据结构的例程,而STL库代码的质量又很高,所以看堆的代码,STL源码是一个很好的选择。
为了满足完全二叉树的性质,新插入的元素一...
分类:
其他好文 时间:
2014-07-22 23:04:53
阅读次数:
363
如题Ubuntu自带的OpenJDK只有jre环境,不提供源码,所以我们还是需要去下载。 JDK6:http://download.java.net/openjdk/jdk6/JDK7:http://download.java.net/openjdk/jdk7/下载好了后,只需要解压下载包下的一个子目录:/jdk/src/share/classes/,解压的路径记好了,如:/home/simon/...
分类:
编程语言 时间:
2014-07-22 23:04:52
阅读次数:
445
在我们ios的开发中gdataxml是一个常用的开源实现,很多第三方的库在实现里也会加入它的源码。我们在使用此类库或者直接使用gdataxml库时,切记要在工程中引入libxml2这个框架,否则编译会报错,提示类似下面:
Undefined symbols for architecture armv7:
"_xmlDocDumpMemory", referenced from: xxx
...
分类:
移动开发 时间:
2014-07-22 23:04:33
阅读次数:
329
[源码编译]
前期准备:
确认电脑上安装好g++等开发环境,否则执行
sudo apt-get install build-essential
2. 确认电脑上已经安装好svn以便下载最新的源代码,否则执行
sudo apt-get install subversion
3. 确保proj4的安装
$ curl -O...
分类:
系统相关 时间:
2014-07-22 23:02:53
阅读次数:
2542
最近编程时,发现一个针对HashMap的一个提示:
翻译过来就是:用SparseArray来代替会有更好性能。
那我们就来看看源码中SparseArray到底做了哪些事情:
一、构造
从构造方法我们可以看出,它和一般的List一样,可以预先设置容器大小,默认的大小是10:
[java] view
plaincopy
public Sp...
分类:
其他好文 时间:
2014-05-01 21:57:37
阅读次数:
483
直接上源码 1 using System; 2 using System.Data; 3 using
System.Threading.Tasks; 4 using DbUtility; 5 6 namespace TestDbUtilityConsole 7
{ 8 class Prog...
分类:
数据库 时间:
2014-05-01 21:15:43
阅读次数:
560
开发环境:操作系统: (uname -a output)Linux ubuntu
3.8.0-19-generic #29-Ubuntu SMP Wed Apr 17 18:16:28 UTC 2013 x86_64 x86_64
x86_64 GNU/LinuxJDK 版本 : (java -ve...
分类:
编程语言 时间:
2014-05-01 20:46:54
阅读次数:
565
安装Everpad
sudo add-apt-repository ppa:nvbn-rm/ppa
sudo apt-get update
sudo apt-get install everpad...
分类:
系统相关 时间:
2014-05-01 17:35:52
阅读次数:
490
好了,到这里,总结一下:
1)创建一个Request的时候,会同时设置一个Response.Listener作为请求的一个参数变量,之后调用RequestQueue的add方法将其添加到Queue。
2)在Queue中的请求会由NetworkDispatcher去跟网络进行通信(如果有缓存的时候,就是CacheDispatcher)。
3)当请求结果回来的时候,Request会首先调用parseNetworkResponse方法根据不同的请求类型,如Json,Image等进行不同的处理。
4)当Reques...
分类:
移动开发 时间:
2014-05-01 17:35:08
阅读次数:
493
1,打开终端(按下ctrl+alt+t)
2.输入sudo gedit /boot/grub/grub.cfg,然后输入密码。
3,在弹出到文本文件编辑器里面的第十三行左右到位置的set default=""默认是等于零。这个时候,如果你想默认启用windows,需要看一下开机到时候你的windows排在第几个,假设你的windows排在第n个,则set
default里面输入n-1即可
...
分类:
其他好文 时间:
2014-04-30 22:28:40
阅读次数:
294