
容器
小米的修行之路
是日已过,命亦随减;如少水鱼,斯有何乐?当勤精进,如救头燃!但念无常,慎勿放逸。
展开
-
容器适配器
一、对于容器适配器的理解,下面引用别人的一个例子:1、可以做一个类比,我们已有的容器(比如vector、list、deque)就是设备,这个设备支持的操作很多,比如插入,删除,迭代器访问等等。而我们希望这个容器表现出来的是栈的样子:先进后出,入栈出栈等等,此时,我们没有必要重新动手写一个新的数据结构,而是把原来的容器重新封装一下,改变它的接口,就能把它当做栈使用了。2、容器适配器就原创 2017-08-23 14:03:04 · 398 阅读 · 0 评论 -
STL系列之一 deque双向队列
deque双向队列是一种双向开口的连续线性空间,可以高效的在头尾两端插入和删除元素,deque在接口上和vector非常相似,下面列出deque的常用成员函数: deque的实现比较复杂,内部会维护一个map(注意!不是STL中的map容器)即一小块连续的空间,该空间中每个元素都是指针,指向另一段(较大的)区域,这个区域称为缓冲区,缓冲区用来保存de转载 2017-08-22 18:28:05 · 297 阅读 · 0 评论 -
关联容器------map与pair的使用
1、std::pair是二元组类模板,就是表示两种相互关联的事物,第一个叫做键,第二个叫做值,一个pair对象称为一个键值对。pair对象有两个变量,分别是first和second,调用first可以获取pair的键,调用second可以获取pair键所对应的值。我们既可以直接定义一个pair对象,也可以使用make_pair函数创建一个pair:std::pair a( 'a', 97 );原创 2017-09-09 10:52:33 · 2644 阅读 · 0 评论 -
关联容器-map与pair的使用(续)
通过下标获取值时,如果盖该键不存在,则会插入一个具有该键的新元素。有时这是我们不想看到的!所以,我们可以通过count和find函数先判断该键是否存在,如果存在,再获取该键对应的值。删除一段区间的元素时,erase(iter1,iter2);表示删除一段区间的元素,删除区间为前闭后开区间[iter1,iter2)。同样,举例来说明问题:#include "stdafx.h"#incl原创 2017-09-11 12:48:06 · 383 阅读 · 0 评论 -
Set容器的使用
set容器只是单纯键的集合,如果想知道一个值是否存在时,使用set容器比较合适。set容器中的键也是唯一的,不能修改,且set容器不能使用下标操作。以下使用程序说明set容器的使用:定义、插入、获取 等#include "stdafx.h"#include #include #include using namespace std;int _tmain(int argc, _原创 2017-09-11 14:23:51 · 752 阅读 · 0 评论 -
关联容器-multimap
multimap与multiset类型容许一个键对应多个值,与map和set相比,唯一的区别是不能使用下标来进行操作。以下实例详细说明了multimap的定义、元素的添加和删除、元素的查找等操作。#include "stdafx.h"#include #include #include using namespace std;int _tmain(int argc, _TCH原创 2017-09-11 16:30:08 · 370 阅读 · 0 评论 -
文件流fstream和字符串流sstream的使用
文件流就是将流与文件进行绑定,读写文件。字符串流就是将流与字符串进行绑定,读写字符串。文件流类有ifstream,ofstream和fstream,而字符串流类有istrstream,ostrstream和strstream。文件流类和字符串流类都是ostream,istream和iostream类的派生类,因此对它们的操作方法是基本相同的。以下以实例说明文件流的使用方法:#inclu原创 2017-09-12 15:29:59 · 1977 阅读 · 0 评论 -
使用map以时间对文件夹进行排序
理论:摘自他人:map是用来存放<key, value>键值对的数据结构,可以很方便快速的根据key查到相应的value。假如存储学生和其成绩(假定不存在重名,当然可以对重名加以区分),我们用map来进行存储就是个不错的选择。 我们这样定义,map<string, int>,其中学生姓名用string类型,作为Key;该学生的成绩用int类型,作为value。这样一来,我们...原创 2018-06-21 10:06:17 · 796 阅读 · 2 评论 -
带锁循环队列的一个封装类
直接上类:#ifndef _ZZC_DEQUE_#define _ZZC_DEQUE_#include "MutexLock.h"#include <deque>#include <iostream>using namespace std;template <typename _T>class ZZCdeque{public: ZZCde...原创 2018-07-12 14:07:57 · 481 阅读 · 0 评论