C++ STL vector学习简单总结

本文主要介绍C++ STL中的顺序容器vector,讲解其作为动态数组的特点,支持随机访问及下标操作,以及插入和删除操作的时间复杂度。同时提到了vector在内存不足时尾部插入的操作。内容涵盖vector的基本用法和成员函数,以及如何在代码中包含头文件。

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

 

STL(标准模板库),就是容器+算法+迭代器。

其中容器可以存放基本类型的变量,也可以存放对象,算法就是对容器的数据进行一些处理,例如排序、查找、插入等算法。迭代器是对链接容器与算法的桥梁,迭代器可以指向容器中的某个元素,可以对容器的元素进行一些算法操作。

c++中,容器分为顺序容器和关联容器,顺序容器中的元素的位置与值的大小无关,在内存中是顺序存储的。可以指定插入元素的位置。关联容器内的元素是按元素值得大小进行排好序的,在插入和删除的时候,不能指定位置。

顺序容器包括:vector(动态数组),deque(双端队列),list(双向链表);

关联容器包括:map,multima,set,multiset

除了以上两类容器外,STL 还在两类容器的基础上屏蔽一部分功能,突出或增加另一部分功能,实现了三种容器适配器:栈 stack、队列 queue、优先级队列 priority_queue。

在这里主要总结vector的用法:

Vector:是一种顺序容器,是一种可变长度的动态数组,可以通过下标访问vector的元素,支持随机访问,所以对vector进行访问的时间复杂度是一个常数。插入和删除元素的时候,需要移动多个元素,平均花费的时间与元素个数是有关的。在尾部进行插入的时候,如果vector有空间来存放新的元素,直接进行插入操作就可以,如果vector已经用完空间,再进行尾部插入的时候,需要重新申请更大空间的内存,将原来的元素复制过去后再添加新的元素。

在使用vector需要添加头文件:<vector>

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值