heap不属于STL容器,它扮演者priority queue的助手。heap是一种完全二叉树,可由数组来实现,但heap需要动态改变大小,所以最终选择了vector作为底层容器。STL默认提供最大堆。
题外话:分析heap的源码就能清楚的理解堆这种数据结构的例程,而STL库代码的质量又很高,所以看堆的代码,STL源码是一个很好的选择。
为了满足完全二叉树的性质,新插入的元素一...
分类:
其他好文 时间:
2014-07-22 23:04:53
阅读次数:
363
这本书的作者Jeffrey Richter也是《Windows核心编程》的作者。《Windows核心编程》更多的是对window系统相关知识的挖掘积累。《CLR via C#》则更多的讲解了语言的设计、类库的设计。这本书可以提供几个有益的视角:C++的缺陷是什么,C#是如何规避的,C#为此付出了什么代价参照C#的选择,我们在C++开发中可以做什么C#的易用性是怎么产生的,C++我们可以做什么提高易...
分类:
编程语言 时间:
2014-07-22 23:03:35
阅读次数:
267
oracle 优化or 替换为in、exists、union的几种写法,测试没有问题!
根据实际情况用选择相应的语句吧!如果有索引,or全表扫描,in 和not in 也要慎用,否则会导致全表扫描,...
分类:
数据库 时间:
2014-05-01 22:12:59
阅读次数:
755
Android提供了多种可选的方式让你永久地保存应用程序的数据。方案的选择取决于你的特殊需要,如数据是否需要对你的应用程序是私有的或者可以被其他应用程序(或用户)访问,还有你需要多大的存储空间。...
分类:
移动开发 时间:
2014-05-01 18:29:16
阅读次数:
409
[前序]
首先关于GDAL源码方面,GDAL开源项目源码是使用C++语言所写,通过源码的编译可以生成支持一系列语言如c++/java/php/csharp/perl/python/ruby开发所依赖的第三方包或头文件。GDAL的同时支持不同平台下的编译生成,在Win平台下使用起来出现的问题较多,比如编译时选择不同的编译选项32位或x64位产生出不同的依赖库,还有中文路径、中文读写问题...
分类:
编程语言 时间:
2014-05-01 17:53:24
阅读次数:
1741
jQuery获取Select选择的Text和Value:
语法解释:
1. $("#select_id").change(function(){//code...}); //为Select添加事件,当选择其中一项时触发
2. var checkText=$("#select_id").find("option:selected").text(); //获取Select选择的Text
...
分类:
Web程序 时间:
2014-05-01 17:38:42
阅读次数:
420
Bandwidth是一款内存带宽基准测试程序,主要针对x86及x86_64平台,通过顺序读写与随机读写不同大小的数据块,测试系统的内存带宽性能。
Bandwidth提供了一套汇编语言实现的支持库,用来完成体系结构相关的特定操作,例如读取某些寄存器的内容。
Bandwidth利用该汇编库,检测当前系统CPU的型号及支持的特性,并选择相应的工作模式,如笔者机器的CPU为:...
分类:
其他好文 时间:
2014-05-01 17:12:45
阅读次数:
457
前几天午休时做了一个梦,梦中我在问,我要怎样过完我的一生?醒来时,我突然有种后怕。时光匆匆,如白驹过隙,生命易逝,选择怎样的活法真的很是一个问题。正如老外所说,it is a problem。
和朋友聊天,我说到我的担忧,谈到我的忧愁不快乐,朋友说是我对自己的要求太高了,他说我应该学会知足,因为只有知足者才会常乐。或许他是对的,只是有些事情有些问题我无法不考虑。
马上要五一了,又是个小...
分类:
其他好文 时间:
2014-04-30 22:15:39
阅读次数:
222
给两个长度分别为n和m的序列,现在有两种操作:1.分别选择两个序列的一个非空前缀,切两个前缀的最后一位相同,删除之,得到1分(只累计),消耗e;2.直接删除两个序列,消耗值定于两个序列之前删除的元素个数之和,并且使得得到的分有效(之前没有有效分)
(1?≤?n,?m?≤?105; 1?≤?s?≤?3·105; 103?≤?e?≤?104),s代表总能量,e表示一次操作的消耗...
分类:
其他好文 时间:
2014-04-30 22:13:40
阅读次数:
261