c++ STL 容器——序列

本文详细介绍了STL中的11种容器类型,包括deque、list、queue等,并对比了它们的基本特性,如创建、复制、迭代器操作等。此外还特别阐述了序列容器的常用操作及其特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

STL中11个容器类型分别是deque,list,queue,priority_queue,stack,vector,map,multimap,set,multiset,bieset(在比特级处理数据的容器,不讨论)

 

一些基本的容器特征

表达式 返回值说明复杂度
XX:iterator对应迭代器指针编译时间
X u 创建一个名为u的空容器固定
X u(a)  /X u=a 复制a到u线性
a.begin()迭代器指向容器的第一个元素固定
a.end()迭代器指向超尾值迭代器(最后一个元素+1)固定
a.size()unsigned int返回元素个数  等价于a.end()-a.begin()固定
a.swap(b)void交换a,b的内容固定
a==b  /  a!=bbool是否完全一样(长度,每一个元素都一样)线性

 

序列:

6种容器是序列:deque双端队列,list双向链表,queue队列,priority_queue优先队列,stack栈,vector数组

表达式返回值说明
X a(n,t) 声明一个类型为X,名为a,由n个t组成的序列
X a(i,j) 

声明一个类型X,名为a,并将其初始化为区间【i,j)的内容

a.insert(p,t)迭代器将t插入到p前
a.insert(p,n,t)void将n个t插入到p前
a.insert(p,i,j)void将区间【i,j)的元素插入到p前
a.erase(p)迭代器删除p指向的内容
erase(p,q)迭代器删除区间【p,q】的元素
a.clear()void删除所有,等价于a.erase(a.begin(),a.end());

其他容器函数:

表达式含义对应容器
a.front()返回第一个vector,list,deque,queue
a.back()返回最后一个vector,list,deque,queue
a.push(pop)_front()在第一个前添加(删除)list,deque
a.push(pop)_back()添加(删除)最后一个list,deque,vector
a[n]  /  a.at(n)返回第n个元素a[n]不检查是否越界;a.at(n)检查是否越界

 

栈和队列的成员函数写过了    http://www.cnblogs.com/jinmingyi/p/6798041.html

 

转载于:https://www.cnblogs.com/jinmingyi/p/6798359.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值