heap不属于STL容器,它扮演者priority queue的助手。heap是一种完全二叉树,可由数组来实现,但heap需要动态改变大小,所以最终选择了vector作为底层容器。STL默认提供最大堆。
题外话:分析heap的源码就能清楚的理解堆这种数据结构的例程,而STL库代码的质量又很高,所以看堆的代码,STL源码是一个很好的选择。
为了满足完全二叉树的性质,新插入的元素一...
分类:
其他好文 时间:
2014-07-22 23:04:53
阅读次数:
363
Linux
shell脚本中shift的用法说明
shift命令用于对参数的移动(左移)。
示例1:依次读取输入的参数并打印参数个数:
run.sh:
#!/bin/bash
while [ $# != 0 ];do
echo "第一个参数为:$1,参数个数为:$#"
shift
done
输入如下命令运行:run.sh a b c d e...
分类:
系统相关 时间:
2014-05-01 22:06:54
阅读次数:
475
json是一种轻量级数据交换格式,简单的json格式为[{"key1":"value1"},{"key2":"value2"}],
[]代表数组,{}代表数组中的数据对象,key1,key2是一个json对象中的key,一个json中key值唯一,value1,value2,是key键对应的值。
下面使用jquery解析简单的son文件。
这里是songs.json文件内容
[
{"opt...
分类:
Web程序 时间:
2014-05-01 18:17:27
阅读次数:
447
题目来源:POJ 3882 Stammering Aliens
题意:给你m一个一个字符串 求至少出现m次的最长字符串 可以在字符串中重叠出现
思路:二分长度l 然后从height数组中找长度大于等于l的前缀
#include
#include
#include
using namespace std;
const int maxn = 40010;
char s[maxn];
in...
分类:
其他好文 时间:
2014-05-01 17:36:34
阅读次数:
334
--------------------------------------------------
typedef声明,简称typedef,为现有类型创建一个新的名字,或称为类型别名,在结构体定义,还有一些数组等地方都大量的用到。
它有助于创建平台无关类型,甚至能隐藏复杂和难以理解的语法 。使用typedef可编写出更加美观和可读的代码。所谓美观,意指typedef能隐藏笨拙的语法构造以...
分类:
其他好文 时间:
2014-05-01 17:28:24
阅读次数:
308
Sed 是什么?Sed 是一个脚本型的编译器,是非交互式的,也就是说sed与常见的编译器不同(比如说vim),sed没有交互式的编辑界面以及光标移动或者庞大的快捷键/功能,sed 的使用就是很简单的一个脚本行,相当极客吧?Sed 是最早支持正则表达式的工具之一,并且至今仍然被人们用做文本处理,特别是在其强大的替代命令。本文力求详尽的介绍 sed 的使用,希望你能喜欢!...
分类:
其他好文 时间:
2014-04-30 22:33:38
阅读次数:
360
一、正则表达式的使用
cd /usr/share/dict
1、找出words文件下所有以a开头t结尾的单词
egrep "^a.*t$" words
2、匹配以abcde开头,以at结尾的单词
egrep "\" words
3、以大写字母开头,以t结尾
egrep "^[[:upper:]]t$" words
二、管道的使用
egrep "^a.*t$" words|wc -...
分类:
系统相关 时间:
2014-04-30 22:32:38
阅读次数:
372
1:temp = array[i]*i: 2410.0 ms
2:temp = GET(array,i) *i: 2410.0 ms
3:temp = get(array,i)*i: 2950.0 ms
4:int a = get(array,i);temp = a*i: 3340.0 ms
5: int a = array[i];temp = a*i;: 1990.0...
分类:
其他好文 时间:
2014-04-30 22:25:38
阅读次数:
303
使用javascript ajax C#实现类似百度的自动搜索效果
文本框下方是一个div,里面是一个ul标签,初始状态此ul中不包含任何的li标签。
当文本框文字改变的时候,使用ajax把文本框内容取出来,传递到后台,在后台中从数据库查询数据并把结果返回到前台页面。
返回的结果格式设置为:A,B,C,D;以便在前台实现字符串分割。
前台页面把返回的字符串切分成数组,依次遍历并给ul添加li节点。...
分类:
编程语言 时间:
2014-04-30 22:23:39
阅读次数:
323
0长度的数组在ISO C和C++的规格说明书中是不允许的,但是由于gcc 预先支持C99的这种玩法,所以,“零长度数组”在gcc环境下是合法的。
先看下面两个例子。
pzeroLengthArray.c
#include
struct str
{
int len;
char *s;
};
struct foo
{
struct str *a;
};
int main()
{...
分类:
其他好文 时间:
2014-04-30 22:22:39
阅读次数:
300