+1.1向量 链表 数组
向量:向量支持随机读取和更改 查找一般 末端删除快 随机删除慢,它是 “class”. 可作为顺序容器,类似数组,但大小可动态变化。与数组比较,它浪费存储空间,用起来麻烦
链表:只有头结点有名字,不支持随机读取和更改 查找慢 元素较多时删除时间大约是查找时间,适用于插入或删除频繁,存储空间需求不定的情况,存储空间不连续,动态分配内存;
数组:,数组是“变量,大小不可改变,数组无法动态定做,或者要做额外的善后工作,数组无法整体复制,向量可以,数组无法扩容。存储效果高,存取数度快;
vector(向量)是c++STL(标准模板类库)的重要一员,使用时,要包含头文件vector即可。
- 数组无法整体复制
|
除此之外,向量还有好多种定义方式,还可以从数组中获得初值,例如
|
- 数组无法动态定做,或者要做额外的善后工作
|
若采用动态定做,从而需要释放空间
|
如果换成向量,则一目了然
|
- 数组无法扩容
|
向量还有好多常用的操作,这些操作是数组所不具备,但同时向量又可以像数组一样被使用,例如:
|
其中a.begin(),b.end()分别表示向量a的起始元素位置和最后一个元素之外的元素位置.
输出向量中的元素可以如下:
|
还有一个比较有用的是对向量中的元素进行排序:
|