c++顺序容器
2016-08-11 19:37
232 查看
一 顺序容器类型:
deque 双端队列,头尾位置插入删除#include<deque> deque<T>
list 双向链表,在任何位置进行插入删除#include<list> list<T>
array 固定大小数组,随机访问不可添加删除,与内置数组不同#include<array>
vector
string
二 容器的操作
容器类型成员 vector<T>::iterator it vector<T>类型的迭代器
list<T>::size_type list<T>容器大小
array<T>::difference_type 带符号整型,保存两个迭代器之间距离
vector<T>::value_type 元素类型
vector<T>::reference 元素左值类型,等价于value_type&
构造函数 vector<T> v;
vector<T> v1(v2)
list<T> v2{a,b,c....}
vector<T> v(it.begin(),it.end()) 将迭代器it指定范围内的元素拷贝到v
交换值 v1.swap(v2)
swap(v1,v2)v1v2类型相同
赋值 v.assign(b,e) 将v中元素替换为迭代器be所表示范围中的元素
例list<string> n;vector<const char*> o;n.assign(o.begin(),o.end());
大小 v1.size()
v1.max_size( ) v1可保存最大元素数目
v1.empty()
添加删除元素(不适用于array)v.push_back(t)
v.push_front(t)
v.insert(args)
v.emplace()
v.erase(args) 删除args指定内容
v.clear()删除c中所有元素
v.pop_back()删除尾元素
v.pop_front()删除首元素
获取迭代器 v.begin() v.end()
迭代器引用 *v.begin()
元素中成员访问 (*v.begin()).mem or v.begin()->mem
迭代器指向下一个元素 ++v.begin()
访问元素 v.back( ) v中尾元素的引用
v.front()v中首元素的引用
v.at(n)返回下标为n的元素的引用 等价于v
改变容器大小 v.resize(n,t)v改为大小为n个元素且每个值为t
三 顺序容器适配器:
stack \\#include<stack> 栈,后进先出
queue \\#include<queue> 队列,先进先出
priority_queue \\#include<queue> 有优先级别的队列
四 顺序适配器的操作
成员 size_type
value_type
container_type 实现适配器的底层容器类型
构造 A a
A a(c) c拷贝给a
大小 a.empty()
a.size()
交换值 a.swap(b)
swap(a,b)
删除首元素 s.pop()
尾部添加元素 s.push()
返回首元素 s.top()栈 s.front 队列 s.back
deque 双端队列,头尾位置插入删除#include<deque> deque<T>
list 双向链表,在任何位置进行插入删除#include<list> list<T>
array 固定大小数组,随机访问不可添加删除,与内置数组不同#include<array>
vector
string
二 容器的操作
容器类型成员 vector<T>::iterator it vector<T>类型的迭代器
list<T>::size_type list<T>容器大小
array<T>::difference_type 带符号整型,保存两个迭代器之间距离
vector<T>::value_type 元素类型
vector<T>::reference 元素左值类型,等价于value_type&
构造函数 vector<T> v;
vector<T> v1(v2)
list<T> v2{a,b,c....}
vector<T> v(it.begin(),it.end()) 将迭代器it指定范围内的元素拷贝到v
交换值 v1.swap(v2)
swap(v1,v2)v1v2类型相同
赋值 v.assign(b,e) 将v中元素替换为迭代器be所表示范围中的元素
例list<string> n;vector<const char*> o;n.assign(o.begin(),o.end());
大小 v1.size()
v1.max_size( ) v1可保存最大元素数目
v1.empty()
添加删除元素(不适用于array)v.push_back(t)
v.push_front(t)
v.insert(args)
v.emplace()
v.erase(args) 删除args指定内容
v.clear()删除c中所有元素
v.pop_back()删除尾元素
v.pop_front()删除首元素
获取迭代器 v.begin() v.end()
迭代器引用 *v.begin()
元素中成员访问 (*v.begin()).mem or v.begin()->mem
迭代器指向下一个元素 ++v.begin()
访问元素 v.back( ) v中尾元素的引用
v.front()v中首元素的引用
v.at(n)返回下标为n的元素的引用 等价于v
改变容器大小 v.resize(n,t)v改为大小为n个元素且每个值为t
三 顺序容器适配器:
stack \\#include<stack> 栈,后进先出
queue \\#include<queue> 队列,先进先出
priority_queue \\#include<queue> 有优先级别的队列
四 顺序适配器的操作
成员 size_type
value_type
container_type 实现适配器的底层容器类型
构造 A a
A a(c) c拷贝给a
大小 a.empty()
a.size()
交换值 a.swap(b)
swap(a,b)
删除首元素 s.pop()
尾部添加元素 s.push()
返回首元素 s.top()栈 s.front 队列 s.back
相关文章推荐
- C++函数引用形参和非引用形参
- 基于C++、链表以及泛型编程的学生成绩管理系统
- c/c++第十四天
- 【C++专题】static_cast, dynamic_cast, const_cast探讨
- C语言精髓2
- Effective Modern C++ 条款5 尽量用auto代替显式类型声明
- C++学习004-Go To 语句使用
- c语言精髓
- 在while中使用cin>>a 为条件,注意事项
- C++学习003-#define 自定义宏
- C++在函数声明时,后面跟个const是什么意思?
- C语言实现类workerman的功能
- C++学习002-C++代码中插入汇编语句
- C语言第三周,指针
- 在C++中定义常量的两种方法的比较
- C++ 继承(三)
- C++学习001-注释
- c++之window filesearch和LoadLibraryA的实现
- c/c++练习--01
- poj 3009 Curling 2.0(冰壶 直到遇到障碍才停下 dfs)