C++:vector结构算法

本文详细介绍了C++中vector的数据结构,包括其内部的元素类型T、容量和大小的管理,以及构造、析构方法。讨论了vector的扩容、缩容策略,插入和删除操作的影响。此外,还涵盖了向量元素的访问、置乱、查找和去重算法,以及排序方法如归并排序、选择排序和起泡排序的应用。

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

Vector

1.模板参数T指定向量元素类型
2.向量结构在内部维护一个元素类型为T的私有数组_elem[],容量由_capacity指示,有效元素数量由变量_size指示。
3.构造方法:默认构造方法、基于复制的构造方法
4.析构方法:释放数组_elem[]
5.静态空间管理:_size/_capacity装填因子不超过1也不太接近0
6.扩容、缩容算法:insert函数调用expand函数,若当前数据区满,将原数组替换成更大的数组,remove 函数调用shrink函数,若当前数据量*2<容量,将容量减半。
7.对向量元素访问沿用数组方式,重载操作符[]。
8.置乱算法:使元素等概率出现在各位置
9.查找算法:无序查找、有序查找
10.去重算法:无需向量去重、有序向量去重
11.排序算法:归并排序、选择排序、起泡排序

#pragma 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

每天学点

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值