STL中的list容器的一点总结
1.关于list容器
list是一种序列式容器。list容器完成的功能实际上和数据结构中的双向链表是极其相似的,list中的数据元素是通过链表指针串连成逻辑意义上的线性表,也就是list也具有链表的主要优点,即:在链表的任一位置进行元素的插入、删除操作都是快速的。list的实现大概是这样的:list的每个节点有三个域:前驱元素指针域、数据域和后继元素指...
分类:
其他好文 时间:
2014-08-07 19:00:30
阅读次数:
250
在做一个Web项目时遇到一个需求,当页面没有前驱历史记录时(就是当前为新弹出的页面,没法做goback操作即history.go(-1)),点击返回按钮时直接关闭页面,否则就退回到前一页。
遇到的问题就是如何判断 是否有history可以回退,这个非常麻烦,因为没有这样的函数直接能获取到,只能通过history.length这个变量做变通的处理,但是对于IE,和非IE的length的返回值不同,...
分类:
Web程序 时间:
2014-08-06 19:18:32
阅读次数:
263
作为系列的最后一篇,得要说说C#驱动对mongodb的操作,目前驱动有两种:官方驱动和samus驱动,不过我个人还是喜欢后者,因为提供了丰富的linq操作,相当方便。官方驱动:https://github.com/mongodb/mongo-csharp-driver/downloads。下载后,还...
分类:
数据库 时间:
2014-08-06 11:46:41
阅读次数:
424
1.树是一种数据结构,树的一些相关的术语:
结点的度:一个结点的后继结点的个数。
树的度:树中度值最大的结点的度被称为树的度。
树的深度:树的层次数。
分支结点:度值大于0的结点,分支结点至少含有一个后继,分支结点也称为非终端结点。
叶子结点:树中的度值为0的结点。
双亲结点:树中某个结点的前驱结点,也成为父节点。
子女结点:树中某结点的后继结点。
兄弟结点:树中同一层的结点。...
分类:
其他好文 时间:
2014-08-05 19:34:40
阅读次数:
262
题目:人生有很多选择,现在给你一些选择(0~n-1),和每个选择分支后面的其他选择序号,求选择总数。
分析:dp,图论。如果某状态的后续选择个数是0个则,代表死亡,统计所有到达死亡的路径条数即可。
用一个状态数组记录到达每个选择的路径数,它等于能到达它的前驱节点的路径加和。
稀疏图,使用邻接表储存。初始是节点0的路径条数为1,代表出生。
说明...
分类:
其他好文 时间:
2014-08-04 17:53:57
阅读次数:
199
题目链接:点击打开链接
编辑距离,,== 一边dp一边记录前驱太累,,还是dp后找路径大法好
#include
#include
#include
#include
using namespace std;
#define ll int
#define N 1010
char s[N], t[N];
int dp[N][N], n, m;
// 0为插入 1为删除 2 3为替换
struct ...
分类:
其他好文 时间:
2014-08-04 17:49:47
阅读次数:
275
1.队列的概念
队列是一种特殊的线性表,只允许在队列的一端进行插入而在另一端进行删除。
队列一般拥有队首(front指针)和队尾(rear指针),当一个队列并未存入数据的时候,front和rear指针均指向队首。
入队的操作:rear后移,存入数据在rear指向的单元,队满不可入队,这同时也表明front总是指向队首元素的前驱。
出队的操作:front后移,元素出队,队空不可出队。
注意...
分类:
其他好文 时间:
2014-08-04 17:45:48
阅读次数:
213
这个题目意思我给弄错了。真桑心没好好听TK的指导,只要在松弛操作里头记录前驱节点就可以了,还要注意long long,其实我有很多时候测试错了可以猜到要用long long才可以,但是不知道缘故,就单单怎么算,不是很了解。#include #include #include #include #in...
分类:
其他好文 时间:
2014-08-03 15:06:05
阅读次数:
188
拓扑排序
在实际应用中,有向图的边可以看做是顶点之间制约关系的描述。把顶点看作是一个个任务,则对于有向边表明任务Vj的完成需等到任务Vi完成之后,也就是说任务Vi先于任务Vj完成。对于一个有向图,找出一个顶点序列,且序列满足:若顶点Vi和Vj之间有一条边,则在此序列中顶点Vi必在顶点Vj之前。这样的一个序列就称为有向图的拓扑序列(topological order)。
步骤
从有向图中选取一个没有前驱(入度为0)的顶点输出。
删除图中所有以它为起点的弧。...
分类:
其他好文 时间:
2014-08-03 01:46:24
阅读次数:
492
双向链表的结点包含前驱指针和后继指针,队列入队操作是在双向链表尾部添加元素,队列的出队操作是把双向链表的头结点删除,判断队列是否为空只要判断双向链表的头指针是否指向了NULL即可。
# include
# include
using namespace std;
struct queueNode
{
int val;
queueNode *pre;
queueNode *next;...
分类:
其他好文 时间:
2014-08-02 12:55:03
阅读次数:
193