C++ map;vector;list;queue;stack;set对比使用
来源:互联网 发布:grub 添加ubuntu引导 编辑:程序博客网 时间:2024/05/21 06:33
对比一下,方便使用。
map:
一个关联容器,提供一对一数据处理的功能。map内部自建一棵红黑树,具有自动排序功能,map内部数据都是有序的。一般而言,关联式容器是一个平衡二叉树,以便获得良好的搜寻效率。
vector:
相当于一个动态数组,声明时可以不指明元素数量,需要的时候调用push_back()函数添加元素,即时存取效率较高。
list:
数据结构中的双向链表,内存空间是不连续的,通过指针来进行数据的访问,即时存取不是很快但插入删除效率高。
queue:
一种容器适配器,它给予程序员一种先入先出(FIFO)的数据结构。
stack:
一种容器适配器,它给予程序员一种后入先出(LIFO),那种数据被插入,然后再容器末端取出。
set:
关联容器,根据元素值自动排序,能从一个数据集合中取出元素,set中每个元素值唯一且不能被直接改变。
常用函数:
begin()
vector:
push_back 在数组的最后添加一个数据
pop_back 去掉数组的最后一个数据
at 得到编号位置的数据
begin 得到数组头的指针
end 得到数组的最后一个单元+1的指针
front 得到数组头的引用
back 得到数组的最后一个单元的引用
max_size 得到vector最大可以是多大
capacity 当前vector分配的大小
size 当前使用数据的大小
resize 改变当前使用数据的大小,如果它比当前使用的大,者填充默认值
reserve 改变当前vecotr所分配空间的大小
erase 删除指针指向的数据项
clear 清空当前的vector
rbegin 将vector反转后的开始指针返回(其实就是原来的end-1)
rend 将vector反转构的结束指针返回(其实就是原来的begin-1)
empty 判断vector是否为空
swap 与另一个vector交换数据
list:
assign()给list赋值
back() 返回最后一个元素
begin() 返回指向第一个元素的迭代器
clear() 删除所有元素
empty() 如果list是空的则返回true
end() 返回末尾的迭代器
erase() 删除一个元素
front() 返回第一个元素
get_allocator() 返回list的配置器
insert() 插入一个元素到list中
max_size() 返回list能容纳的最大元素数量
merge() 合并两个list
pop_back() 删除最后一个元素
pop_front() 删除第一个元素
push_back() 在list的末尾添加一个元素
push_front() 在list的头部添加一个元素
rbegin() 返回指向第一个元素的逆向迭代器
remove() 从list删除元素
remove_if() 按指定条件删除元素
rend() 指向list末尾的逆向迭代器
resize() 改变list的大小
reverse() 把list的元素倒转
size() 返回list中的元素个数
sort() 给list排序
splice() 合并两个list
swap() 交换两个list
unique() 删除list中重复的元素
queue:
back()返回最后一个元素
empty() 如果队列空则返回真
front() 返回第一个元素
pop() 删除第一个元素
push() 在末尾加入一个元素
size() 返回队列中元素的个数
stack:
empty()堆栈为空则返回真
pop() 移除栈顶元素
push() 在栈顶增加元素
size() 返回栈中元素数目
top()返回栈顶元素
set:
begin() 返回set容器的第一个元素
end() 返回set容器的最后一个元素后面的地址(切记不是返回最后一个元素)
clear() 删除set容器中的所有的元素
empty() 判断set容器是否为空
max_size() 返回set容器可能包含的元素最大个数
size() 返回当前set容器中的元素个数
rbegin 返回的值和end()相同
rend() 返回的值和rbegin()相同
#END
- C++ map;vector;list;queue;stack;set对比使用
- STL 整理map、set、vector、list、stack、queue、deque、priority_queue
- STL详解(vector,list,deque,stack,queue,priority_queue;map,set)
- map、set、vector、list、stack、queue、deque、priority_queue
- c++STL容器(map,set,vector,stack,queue)
- STL 各种容器 vector deque list set map multiset map multimap stack queue priority_queue
- java vector,list,map,stack,queue
- List,Map,Stack,Queue,Set的遍历
- STL 整理(map、set、vector、list、stack、queue、deque、priority_queue)
- STL 整理(map、set、vector、list、stack、queue、deque、priority_queue)
- STL库整理(map、set、vector、list、stack、queue、deque、priority_queue)
- STL 整理(map、set、vector、list、stack、queue、deque、priority_queue)
- STL 整理(map、set、vector、list、stack、queue、deque、priority_queue)
- STL 整理(map、set、vector、list、stack、queue、deque、priority_queue)
- STL 收拾(map、set、vector、list、stack、queue、deque、priority_queue)...
- STL 整理(map、set、vector、list、stack、queue、deque、priority_queue)(转)
- STL 整理(map、set、vector、list、stack、queue、deque、priority_queue)
- STL 整理(map、set、vector、list、stack、queue、deque、priority_queue)
- 892AGreed
- python新手必碰到的问题---encode与decode,中文乱码[转]
- Codeforces Round #446 (Div. 2) D. Gluttony 找规律
- Unity3D-使用图层,锁定背景图片
- 一名前端工程师的自学之路!Js篇(11-20更新)
- C++ map;vector;list;queue;stack;set对比使用
- 3.4 输入一个三位数的整数(忽略前面的正负号)
- POJ
- 初识HashMap之初始长度(二)
- 基于卡尔曼滤波的目标跟踪 一点点想法
- 201503-3 节日 ccf
- OkHttp封装+RecyclerView显示网络请求数据
- java_day1
- 人工智能随机生成迷宫