* 容器的迭代器还有几种:
+ iterator:正常迭代器(常用)
+ reverse_iterator:反向迭代器(有时也用)
- rbegin(),rend()//返回反向迭代器
+ const_iterator:常量迭代器
+ const_reverse_iterator:
iterator find(数据){
for( 从beg;!=end;it ++)
if(*it==数据)
return it;
return end;//未找到,返回无效迭代器
}//查询
*it = new_data;//更新迭代器
--------------------------------
所有的容器在插入数据时会自动加长,程序员不必关心空间问题。
容器的分类:
+ (sequence)
- vector
- list
- deque
序列式容器共性
构造函数:constructor(int n);constructor(int n,T val)
调整大小:resize(int n),resize(int n,T val)一般用来加长,不一定能缩短
赋值:assign(n,val),放入n个相同的值
assign(区间(beg——end),val),把指定区间的内容放入容器
插入:insert(pos/*迭代器*/,n,val),insert(pos,区间)
毛插:push_back(val);//在末尾插入新数据
取得首尾元素:front(),back()
尾删:pop_back();//删除尾部元素
-----------------------------------
序列式容器不同点vector 类似于数组,也支持'[]',不做越界检查,但更安全;能自动增长。
vector.at(下标);//如果越界会throw异常,返回的是引用
vector.reserve(n)//保留空间(没必要用)
vector.capacity()//目前容量(没必要用),用size()
版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明!