STL
文章平均质量分 75
yuanjilai
走在从2B到NB的路上
展开
-
用vector实现二维向量
如果一个向量的每一个元素是一个向量,则称为二维向量,例如vector >vv(3, vector(4));//这里,两个“>”间的空格是不可少的将构造一个二维向量vv,它含有三个元素,每个元素含有4个int型元素的向量。编译器两次调用vector的构造函数构造对象vv,第一次调用构造函数构造了一个无名的含有4个0的vector对象:[0][1][2]原创 2012-03-05 17:09:27 · 57287 阅读 · 8 评论 -
标准模板库STL中vector使用参考手册
简介: vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。 为了可以使用vector,必须在你的头文件中包含下面的代码: #include 注意:头文件没有“.h” vector属于std命名域的,因此需要通过命名限定,如下完成你的代码: using std:原创 2012-10-05 20:55:33 · 1949 阅读 · 0 评论 -
标准模板库STL中List使用参考手册
List 就是一双向链表,可高效地进行插入删除元素。包括构造、方法等。内存空间可以是不连续的,通过指针来进行数据的访问 优: 1)插入/删除效率高 缺: 1)不支持随机存取,查询效率较低 在使用list必须包括头文件#include 构造:list l1; //创建一个没有任何元素的listlist l2(10); //创建一个有10个元素的list,每个原创 2012-10-05 21:29:34 · 1488 阅读 · 0 评论 -
标准模板库STL中Queue参考手册
队列容器默认实现为双端队列容器,用户也可以指定使用链表容器来实现,但不能使用向量容器,否则会编译出错。这是因为队列容器里面的出队列pop()是通过调用pop_front()来实现的,pop_front()为底层容器的成员函数,但向量容器不包含这样的成员。#include queue q1; //默认为双端队列queue > q2; //链表 两个>之间要有空格构造:原创 2012-10-06 13:56:00 · 5324 阅读 · 0 评论 -
标准模板库STL中Stack参考手册
STL中的一般栈类实现为容器适配器:它使用一个容器,并让它按照指定的方式工作。栈容器不是重新创建的,它只是对已有容器做适当的调整,默认的情况下,双端队列(deque)是基础容器,但是用户可以用下面的声明选择链表或者向量stack stack1; //默认为双端队列stack > stack2; //向量 两个>之间要有空格stack > stack3; //链表构造函数:原创 2012-10-06 13:38:07 · 4402 阅读 · 0 评论 -
标准模板库STL中优先队列Priority Queues使用手册
优先队列容器默认使用向量容器实现,用户也可以使用双端队列容器。优先队列总是把优先级最高的元素放在队列的最前方,来保持队列的有序性。插入操作push()使用一个双变量的布尔函数,将队列中的元素重新排序,以满足这个要求。该函数可以由用户提供,否则可以使用如果元素越小,优先级越高,则需要使用函数对象greater,表明在决定向优先级队列中插入新元素时,push()应该使用的操作符是>而不是原创 2012-10-06 14:56:24 · 13755 阅读 · 0 评论