deque双向队列是一种双向开口的连续线性空间,可以高效的在头尾两端插入和删除元素,deque在接口上和vector非常相似。deque的实现比较复杂,内部会维护一个map(注意!不是STL中的map容器)即一小块连续的空间,该空间中每个元素都是指针,指向另一段(较大的)区域,这个区域称为缓冲区,缓...
分类:
其他好文 时间:
2014-07-27 10:04:12
阅读次数:
174
vector是定义于namespace std内的template:namespace std{ template> class vector;}vector优异性能的秘诀之一,就是配置比其所容纳的元素所需更多的内存。capacity()函数返回vector实际能够容纳的元素数量。如果超...
分类:
其他好文 时间:
2014-07-27 10:01:32
阅读次数:
181
[cpp] view plaincopytemplatevoidreverse(BidirectionalIteratorfirst,BidirectionalIteratorlast);[cpp] view plaincopy如果不是改变原来的容器,而是翻转之后放在新容器里面,直接用reverse...
分类:
编程语言 时间:
2014-07-26 16:59:21
阅读次数:
394
# include
# include
# include
# include
# define N 100005
using namespace std;
vectorg[N];
int node[N];
int slove(int x)
{
int sum=0,i;
for(i=0;i<g[x].size();i++)
{
sum+=node[g[x][i]];
}
re...
分类:
其他好文 时间:
2014-07-26 15:21:40
阅读次数:
224
UVA 11991 - Easy Problem from Rujia Liu?
题目链接
题意:给一个长度n的序列,有m询问,每个询问会问第k个出现的数字的下标是多少
思路:用map和vector搞,map[i][j]直接保存的就是数字i第j个出现,每次直接输出即可
代码:
#include
#include
#include
#include
using ...
分类:
其他好文 时间:
2014-07-26 02:37:16
阅读次数:
186
介绍这篇文章的目的是为了介绍std::vector,怎样恰当地使用它们的成员函数等操作。本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和for_each()中的使用。通过阅读这篇文章读者应该可以有效地使用vector容器,并且应该不会再去使用C类型的动态数组了。Vect...
分类:
其他好文 时间:
2014-07-26 00:35:46
阅读次数:
333
static int GetUdisk(vector &udisk){ CHAR szDriveStrings[1024]; PCHAR szDriver; memset(szDriveStrings, 0, sizeof(szDriveStrings)); GetLogi...
#include
#include
#include
#include
#include
using namespace std;
//顺序容器的insert用法
//顺序容器:vector,deque,list,forward_list,array,string
//-------------------------------------------------
//array不...
分类:
其他好文 时间:
2014-07-25 11:09:01
阅读次数:
231
allocator封装了stl标准程序库的内存管理系统,标准库的string,容器,算法和部分iostream都是通过allocator分配和释放内存的。标准库的组件有一个参数指定使用的allocator类,比如vector的原型是:template >class vector : protecte...
分类:
其他好文 时间:
2014-07-25 02:31:04
阅读次数:
201
stl提供了三个最基本的容器:vector,list,deque。vector和built-in数组类似,它拥有一段连续的内存空间,并且起始地址不变,因此它能非常好的支持随即存取,即[]操作符,但由于它的内存空间是连续的,所以在中间进行插入和删除会造成内存块的拷贝,另外,当该数组后的内存空间不够时,...
分类:
其他好文 时间:
2014-07-24 22:38:33
阅读次数:
198