STL常用数据结构总结

本文总结了C++ STL中的几种常用数据结构,包括vector、stack、queue、set和map。vector动态分配空间,提供数组般的操作;stack和queue基于list实现,分别对应栈和队列操作;set是自动排序的集合,底层为红黑树;map是键值对容器,同样使用红黑树,支持按键值排序。
摘要由CSDN通过智能技术生成
 数据结构机考的你,想不想偷懒?快来看一看c++的STL吧。
  STL(standard template library)标准模板库提供了一些列数据结构和算法,帮你更高效地解决问题。下面列出一些常用的(STL的一小部分)数据结构和算法接口,标准采用sgi stl,参考自The annotated STL Sources
  (所有容器采用泛型设计,可采用泛型方式调用,头文件为容器名)
  一、vector 向量容器
    vector与array相比,其差异在于vector动态分配空间(线性连续地址),并且集成了一系列操作函数。
    public接口:(构造函数与析构函数不列出且有省略)
        iterator begin(); //返回首元素
        inerator end(); //返回末尾元素的下一个位置指针,注意不是最后一个元素
        size_type size() const; //返回vector长度
        size_type capacity() const; //返回容器容量
        bool empty() const; //返回向量是否为空
        reference operator[]; //可用[]符号进行同数组一样的下标访问
        void push_back(const T& x); //将x元素添加到最后
        void pop_back(); //将最后一个元素取出
        iterator erase(iterator position); //删除position位置的元素,并返回操作后position位置的元素
        void resize(size_type new_size); //改变向量长度
        void clear();  //清空向量
    遍历: 迭代器方法、直接线性遍历方法
  二、 stack 栈
    stack没有迭代器,不可遍历。
    stack底层采用list实现。
    public接口:
(构造函数与析构函数不列出且有省略
  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值