容器的相关操作



本文转自:http://blog.csdn.net/sinat_24229853/article/details/43836037

http://blog.csdn.net/sinat_24229853/article/details/43836261

http://blog.csdn.net/sinat_24229853/article/details/43836351

http://blog.csdn.net/sinat_24229853/article/details/43836409

http://blog.csdn.net/sinat_24229853/article/details/43836453

http://blog.csdn.net/sinat_24229853/article/details/43836507

http://blog.csdn.net/sinat_24229853/article/details/43836537

1、size_type其大小足以保证存储内存中对象的大小。

2、iterator:迭代器

3、const_iterator:常迭代器。常对象调用begin或end返回的是常迭代器。

4、 difference_type:同一容器对象中不同元素之间的距离


1、在顺序容器中添加元素

c.push_back(t)

c.push_front(t)

c.insert(p,t)//在p迭代器位置插入t

c.insert(p,n,t)//在p迭代器位置插入n个t

c.insert(p,b,e)//在p迭代器位置插入b迭代器和e迭代器之间的元素

vector只能往后插,list和deque可以往前插

2、容器元素都是副本,不会修改传进去的变量的值

3、添加元素可能会使迭代器失效,因此要避免存储end操作返回的迭代器


1、关系运算符>、<、==、!=

2、所有的容器类型都可以使用

3、比较的容器必须必须具有相同的容器类型

4、容器的比较是基于容器内元素的比较(而不是容器的长度)

5、容器内元素必须有相应的关系运算符


1、容器大小的操作

c.size();

c.max_size();//最大能装多少个对象

c.empty();

c.resize(n);

c.resize(n,t);//容器调整到大小为n,新增的数据用t来填上

注意:resize操作可能会使迭代器失效


访问元素

1、c.back();

2、c.front();

3、c[n];

4、c.at(n);//这种更好,可以异常 处理catch(out_of_range)

注意:c[n]和c.at[n]只适合vector和deque容器,因为list不能随机访问


删除元素

1、c.erase(p);

2、c.erase(b,e);//删除从b到e的所有元素,包括b但不包括e

3、c.clear();//删除所有元素

4、c.pop_back()

5、c.pop_front()

注意:c.pop_front只适用于list和deque,因为vector不能从前面取出


一、赋值与交换

1、c1 = c2;

2、c1.swap(c2);

3、c1.assign(b,e);//b和e是两个迭代器

4、c1.assign(n,t);//n个t

二、使用swap:类型必须相同

三、使用assign:类型兼容即可

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后第一间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。、可私 6信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后第一间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。、可 6私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后第一间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。、可私 6信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值