c++中collection(1)

输出问题
ostringstream
创建一个缓冲区,把输出内容暂时放在缓冲区内
在这里插入图片描述
collection(容器)里面有很多的数据结构
grid
二维数组,但如果越界了,二维数组不能报错,grid能
grid不能自动扩容
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
把grid交给其他函数,值不修改,const
const与&’做的是独立且不相关的事情:&*代表着你不希望在调用函数时对参数值进行复制,而const则代表你不允许让调用的函数修改参数对象的值
如果你在一些方法中加入const修饰词可能会导致程序无法被编译,如果你类似于a.clear(),a.fill(),a.set()的方法中加上const,会导致程序无法被正常编译

2 vector(向量)
在这里插入图片描述
普通的array与vector相比之下也少了很多方法,你不能在array对象中搜寻某个元素,也不能很方便地对array对象内部元素进行排序
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
linkedlist 链表
在这里插入图片描述
链表的方法基本和向量一样,为啥还要有这个容器?
vector对象的内部是由array构建的,该array就是用来存储元素的一大块内存。
linkedlist则由一系列被称为node(节点)的box组成,每个box都负责存储linkedlist对象中其中一个元素的值,然后,这些node会使用pointer(指针)来将相邻node连接成为一个linkedlist.
在这里插入图片描述
stack 和 queues(堆和队列)
在这里插入图片描述
关于它们的每项操作都可以通过vector来做到,而且vector可以做的远比它们更多,在操作的多样性上,queue与stack的确逊于vector。
关于stack,我们只能在top顶部进行插入和删除,即push和pop
stack
在这里插入图片描述
stack中没有index的概念,只能从top中操作
在这里插入图片描述
如果你想判断一个string对象是否是“回文的"(比如“aba"),你可以将其中的字符逐一push到一个stack上,然后将其逐一pop,检查pop后的string对象是否与原来保持一致
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值