STL - 常用顺序容器代码
不多说,看代码
#include <iostream>
#include <vector>
#include <deque>
#include <list>
#include <forward_list>
#include "ContainerTest.h"
#include "ContainerUtil.h" using namespace std; void ContainerTest::run()
{
/*
1. vector test
*/ vector<int> coll;
for (int i = ; i <= ; ++i)
{
coll.push_back(i);
}
cout << "** print elements of vector **" << endl;
ContainerUtil<vector<int>>::printElements(coll); /*
2. deque test
*/ deque<int> coll2;
for (int i = ; i <= ; ++i)
{
coll2.push_front(i);
}
cout << "** print elements of deque **" << endl;
ContainerUtil<deque<int>>::printElements(coll2); /*
3. list test
*/ list<char> coll3;
for (char c = 'a'; c <= 'z';++c)
{
coll3.push_back(c);
}
cout << "** print elements of list **" << endl;
ContainerUtil<list<char>>::printElements(coll3);
cout << "print again:" << endl;
while (!coll3.empty())
{
cout << coll3.front() << ' ';
coll3.pop_front();
}
cout << endl; /*
4. forward list
*/ // create forward-list container for some prime numbers
forward_list<long> coll4 = { , , , , , , };
// resize two times
// - note: poor performance
coll4.resize();
coll4.resize(, );
cout << "** print elements of forward list **" << endl;
ContainerUtil<forward_list<long>>::printElements(coll4);
}
运行结果:
** print elements of vector **
1 2 3 4 5 6
** print elements of deque **
6 5 4 3 2 1
** print elements of list **
a b c d e f g h i j k l m n o p q r s t u v w x y z
print again:
a b c d e f g h i j k l m n o p q r s t u v w x y z
** print elements of forward list **
2 3 5 7 11 13 17 0 0 99
STL - 常用顺序容器代码的更多相关文章
- STL - 常用关联容器代码 - set & multiset
代码如下: /* 5. set & multiset */ set<string> cities{ "Braunschweig", "Hanover& ...
- STL常用序列容器
这里简要的记述一下STL常用容器的实现原理,要点等内容. vector vector是比较常用的stl容器,用法与数组是非类似,其内部实现是连续空间分配,与数组的不同之处在于可弹性增加空间,而arra ...
- STL之顺序容器
顺序容器: vector:数组 list:链表 deque:双端数组 顺序容器适配器: stack:堆栈 queue:队列 priority_queue:优先级队列 deque是一个动态数组 dequ ...
- STL之顺序容器 deque 动态数组
deque是一个动态数组,deque与vector非常类似,vector是一个单向开口的连续线性空间,deque则是双向开口的连续线性空间.两者唯一的区别是deque可以在数组的开头和末尾插入和删除数 ...
- STL常用的容器
vector:相当于一个不定长数组. vector的扩充机制是按照现在容量的一倍进行增长,每次增长是重新申请一块更大的心内存,并把现在容器中的元素逐个复制过去,然后销毁旧的内攒 1.头文件: #inc ...
- C++ 顺序容器基础知识总结
0.前言 本文简单地总结了STL的顺序容器的知识点.文中并不涉及具体的实现技巧,对于细节的东西也没有提及.一来不同的标准库有着不同的实现,二来关于具体实现<STL源码剖析>已经展示得全面细 ...
- STL顺序容器【vector】【deque】【list】
我们都知道,stl在集装箱船分为两类,订购集装箱和相关的容器. 顺序容器有三种即动态数组vector,双端队列deque,以及链表list (对csdn的文字排版严重吐槽.写好的版发表了就变了) 一: ...
- C++ STL常用容器浅析
首先要理解什么是容器,在C++中容器被定义为:在数据存储上,有一种对象类型,它可以持有其它对象或指向其它对象的指针,这种对象类型就叫做容器.简单来说 容器就是包含其他类的对象们的对象,当然这种(容器) ...
- stl中顺序性容器,关联容器两者粗略解释
什么是容器 首先,我们必须理解一下什么是容器,在C++ 中容器被定义为:在数据存储上,有一种对象类型,它可以持有其它对象或指向其它对像的指针,这种对象类型就叫做容器.很简单,容器就是保存其它对象的对象 ...
随机推荐
- socketserver用法列子
socketserver socketserver内部使用IO多路复用以及“多线程”和“多进程”,从而实现并发处理多个客户端请求的scoket服务端.即,每个客户端请求连接到服务器时,socket服务 ...
- 【BZOJ 3043】 3043: IncDec Sequence (差分)
3043: IncDec Sequence Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 589 Solved: 332 Description 给 ...
- redis的原子性
什么是原子性操作 在多进程(线程)访问共享资源时,能够确保所有其他的进程(线程)都不在同一时间内访问相同的资源,(要么完全执行,要么完全不执行) 简单描述 有个变量X=0,要进行+1操作,步骤如下: ...
- Codeforces Beta Round #4 (Div. 2 Only) D. Mysterious Present 记忆化搜索
D. Mysterious Present 题目连接: http://www.codeforces.com/contest/4/problem/D Description Peter decided ...
- MySQL 之 Index Condition Pushdown(ICP)
简介 Index Condition Pushdown (ICP)是MySQL 5.6 版本中的新特性,是一种在存储引擎层使用索引过滤数据的一种优化方式. 当关闭ICP时,index 仅仅是data ...
- Vue学习记录-画页面
webstorm 因为之前开发ReactNative的时候,选择了webstorm,这回转战Vue,自然还是用它.如果什么也不做的话,打开Vue工程,编辑区域基本上没有语法高亮.怎么办呢? 安装插件( ...
- 杭州有赞公司招聘 资深PHP开发工程师(平台架构方向)、技术专家
- delphi tcp/ip IdTCPServer1实例一
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Form ...
- System.Threading.Tasks.Task 任务引起的IIS应用程序池崩溃
转载:http://www.cnblogs.com/aaa6818162/p/4421305.html 问题现象 IIS应用程序池崩溃(Crash)的特征如下: 1. 从客户端看,浏览器一直处于连接状 ...
- matlab colormap
This table lists the built-in colormaps functions. Colormap Name Color Scale parula