C++标准模板库(STL)常用容器及其函数

本文详细介绍了C++标准模板库(STL)中的序列式和关联式容器,包括array、vector、list、deque、stack、queue、heap、priority_queue、set、multiset、map、multimap及hashtable。重点讲解了哈希表的哈希冲突解决策略,如线性探测、二次探测和开链法。
摘要由CSDN通过智能技术生成

C++标准模板库(STL)常用容器及其函数

standard template library

参考网站:

  • cplusplus.com
  • cppreference.com
  • gcc.gnu.org

六大部件:

  1. 容器
  2. 分配器:allocator
  3. 算法
  4. 迭代器(泛化的指针)
  5. 仿函数
  6. 适配器

序列式容器

其中元素是可序的,但未必有序

array

c++语言提供的序列式容器,静态空间

array<int,size>a;

a.size();
a.front();
a.back();
a.data();   //a 的起始地址

vector

维护一个连续性空间,空间两倍增长;如果涉及空间重新配置,指向原vector的所有迭代器都失效

class vector{
    void push_back(int x);
    void pop_back();
    iterator erase(iterator position); //清除某位置上的元素
    void clear();
    bool empty();
    size_type size();
    size_type capacity();
    void insert(iterator position,size_type n,const int& x);  //从position开始,插入n个元素,元素处置为x
    iterator begin();
    iterator end();
    reference front();
    reference back();    
};
v.size();
v.capacity();   //真正的容量大小
v.front();	
v.back();
v.data();   //a 的起始地址
auto pi=find(v.begin(),v.end(),target);   //标准库提供

list

环状双向链表(node刻意

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值