zoukankan      html  css  js  c++  java
  • STL基础复习

    stl容器:vector,deque,list,map/multimap,set

    特殊容器:stack,queue,priority_queue

     

    通用操作

     size()  返回当前容器元素数量

     empty() 判断容器是否为空

     max_size() 返回容器能容纳的最大元素数量

     与迭代器有关的操作

     begin() 返回一个迭代器,指向第一个元素

     end() 指向最后一个元素之后

     rbegin() 指向逆向遍历的第一个元素

     rend() 指向逆向遍历的最后一个元素之后

     元素操作

     insert(pos,e)

     erase(beg,end)

     clear() 移除所有元素

     

    迭代器

    双向,list set map

    随机 vector deque string

    vector模拟动态数组

    包含头文件 <vector>

    操作

    效果

    vector<T> c

    产生空的vector

    vector<T> c1(c2)

    产生同类型的c1,并将复制c2的所有元素

    vector<T> c(n)

    利用类型T的默认构造函数和拷贝构造函数生成一个大小为nvector

    vector<T> c(n,e)

    产生一个大小为nvector,每个元素都是e

    vector<T> c(beg,end)

    产生一个vector,以区间[beg,end]为元素初值

    ~vector<T>()

    销毁所有元素并释放内存。

     

     

    操作

    效果

    c.size()

    返回元素个数

    c.empty()

    判断容器是否为空

    c.max_size()

    返回元素最大可能数量(固定值)

    c.capacity()

    返回重新分配空间前可容纳的最大元素数量

    c.reserve(n)

    扩大容量为n

    c1==c2

    判断c1是否等于c2

    c1!=c2

    判断c1是否不等于c2

    c1<c2

    判断c1是否小于c2

    c1>c2

    判断c1是否大于c2

    c1<=c2

    判断c1是否大于等于c2

    c1>=c2

    判断c1是否小于等于c2

     

    操作

     

    效果

    at(idx)

    返回索引idx所标识的元素的引用,进行越界检查

     

    operator [](idx)

    返回索引idx所标识的元素的引用,不进行越界检查

     

    front()

    返回第一个元素的引用,不检查元素是否存在

     

    back()

    返回最后一个元素的引用,不检查元素是否存在

     

    操作

    效果

    c.insert(pos,e)

    pos位置插入元素e的副本,并返回新元素位置

    c.insert(pos,n,e)

    pos位置插入n个元素e的副本

    c.insert(pos,beg,end)

    pos位置插入区间[beg;end]内所有元素的副本

    c.push_back(e)

    在尾部添加一个元素e的副本

     

    操作

    效果

    c.pop_back()

    移除最后一个元素但不返回最后一个元素

    c.erase(pos)

    删除pos位置的元素,返回下一个元素的位置

    c.erase(beg,end)

    删除区间[beg;end]内所有元素,返回下一个元素的位置

    c.clear()

    移除所有元素,清空容器

    c.resize(num)

    将元素数量改为num(增加的元素用defalut构造函数产生,多余的元素被删除)

    c.resize(num,e)

    将元素数量改为num(增加的元素是e的副本)

     

     deque

     模拟动态数组

    包含头文件<deque>

     

  • 相关阅读:
    根据模板查找目标控件
    DataGrid 通过行内容动态改变背景色
    Linq to XML
    数据库开发篇-基础篇
    序列化
    文件监控系统
    NewtonSoft JSON For Net
    java中如何把一个String类型的变量转换成double型的?
    在eclipse中查看某个方法被哪些类调用
    linux: su 无法设置用户ID: 资源暂时不可用
  • 原文地址:https://www.cnblogs.com/wtblogwt/p/10585099.html
Copyright © 2011-2022 走看看