介绍这篇文章的目的是为了介绍std::vector,怎样恰当地使用它们的成员函数等操作。本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和for_each()中的使用。通过阅读这篇文章读者应该可以有效地使用vector容器,并且应该不会再去使用C类型的动态数组了。Vect...
分类:
其他好文 时间:
2014-10-04 12:21:46
阅读次数:
238
1. Headers should not include using declarationCode inside headers ordinarily should not include using declarations. The reason is that the contents o...
分类:
其他好文 时间:
2014-10-03 18:58:15
阅读次数:
142
初看貌似有点复杂,但是搞懂了非常简单,就一个简单的栈应用,每次遇到计算符号"+", "-", "*", "/"就将栈顶端两个数字出栈,计算后再将结果压栈即可。。
#include
#include
#include
using namespace std;
class Solution {
public:
int evalRPN(vector &tokens) {
stack s...
分类:
其他好文 时间:
2014-10-03 15:36:44
阅读次数:
144
题目链接:hdu 1540 Tunnel Warfare
题目大意:有连续的N个城镇,三种操作:
D x:第x城镇被破坏Q x:插叙第x城镇所在联通块有多少个城镇没有被破坏R:修复最后一个被破坏的城镇
解题思路:线段树区间合并,每个城镇看成一个叶子节点,用一个vector记录破坏顺序。对于查询来说,每次只要判断是否在mid?R[lson(u)],mid+L[rson(u)]之间即...
分类:
其他好文 时间:
2014-10-03 13:05:44
阅读次数:
256
本博文我们通过三个程序比较统计词频问题的时间复杂度问题;问题描述;1)、找一篇文章,将所有单词输入至程序;(The Bible Holy为例)2)、统计出每个单词的数量,即词频问题;3)、增加停用词功能;(遇到此类词,直接略过)(网上搜)4)、分别统计出读取文件并计算词频时间、排序所用时间;5)、用...
分类:
编程语言 时间:
2014-10-03 13:00:14
阅读次数:
453
DFS实现步骤如下:
①访问顶点V,并标记V已经访问
②查找V的第一个邻接顶点w
③若W存在,则继续执行,否则算法结束
④若W未被访问,则使用DFS递归访问w
⑤查找V的下一个邻接节点,并记为W,转到步骤③
对上图进行DFS,则访问顺序为
A B D C E
使用伪代码如下:
Vector G[maxn]
int vis[maxn]
void dfs(int u)...
分类:
其他好文 时间:
2014-10-03 11:05:14
阅读次数:
194
第3章 标准库类型
1.任何存储string的size操作结果的变量类型必须为string::size_type类型。
2.同理存储vector的size值应使用类似vector::size_type的类型变量
3.使用for(vector::size_type ix=0; ix != ivec.size(); ++ix)的风格 a.使用!=的效率更高 b.在循环过程中可能ivec的元素个数...
分类:
编程语言 时间:
2014-10-03 01:26:33
阅读次数:
411
注意几点:
分配内存不要使用new和delete,因为new的同时就把对象构造了,而我们需要的是原始内存。
所以应该使用标准库提供的allocator类来实现内存的控制。当然也可以重载operator new操作符,因为二者都是使用malloc作为底层实现,所以直接采用malloc也可以。
对象的复制必须使用系统提供的uninitialized_fill和uninitialized_...
分类:
编程语言 时间:
2014-10-02 18:37:43
阅读次数:
231
1 vector 向量 相当于一个数组 在内存中分配一块连续的内存空间进行存储。支持不指定vector大小的存储。STL内部实现时,首先分配一个非常大的内存空间预备进行存储,即 capacituy()函数返回的大小,当超过此分配的空间时再整体重新放分配一块内存存储,这给人以vector可以不指定v....
分类:
其他好文 时间:
2014-10-02 15:02:03
阅读次数:
171
题目链接:hdu 2871 Memory Control
题目大意:模拟一个内存分配机制。
Reset:重置,释放所有空间New x:申请内存为x的空间,输出左地址Free x:释放地址x所在的内存块Get x:查询第x个内存块,输出左地址
解题思路:一开始全用线段树去做,写的乱七八糟,其实只要用线段树维护可用内存。然后用户一个vector记录所有的内存块。
#include ...
分类:
其他好文 时间:
2014-10-01 15:57:31
阅读次数:
196