zoukankan      html  css  js  c++  java
  • 标准模板库中的向量(vector)

    //C++数据结构与算法(第4版) Adam Drozdek 著  徐丹  吴伟敏<<清华大学出版社>>

     头文件:#include<vector>

    向量是最简单的STL容器,其数据结构与数组类似,占据着一个连续的内存块。由于内存位置是连续的,所以向量中的元素可以随机访问,访问向量中任何一个元素的时间也是固定的。存储空间的管理是自动的,当要将一个元素插入到已满的向量中时,会为向量分配一个更大的内存块,将向量中的元素复制进新的内存块,然后释放旧的内存块。所以,向量是一个灵活的数组,是能够动态改变自身大小的数组。

    vector()  //创建空向量

    vector(size_type n, const T& el = T())  //用类型T的n个el副本创建一个向量(如果没有提供el,则使用默认的构造函数T())

    vector(iterator first, iterator last)  //用迭代器first和last指示范围中的元素构造一个向量

    vector(const vector<T>& v)  //复制构造函数

    void assign(iterator first,iterator last)  //删除向量中的所有元素,然后将迭代器first和last指示范围中的元素插入该向量。

    void assign(size_type n, const T& el = T())  //删除向量中的所有元素,然后将el的n个副本插入该向量中。

    T& at(size_type n)  //返回向量中位置为n的元素

    const T& at(size_type n) const  //返回向量中位置为n的元素

    T& back()  //返回向量的最后一个元素

    T& front()  //返回向量的第一个元素

    const T& front() const  //返回向量的第一个元素

    const T& back() const  //返回向量的最后一个元素

    iterator begin()  //返回一个迭代器,该迭代器引用向量的第一个元素

    iterator end()  //返回一个迭代器,该迭代器位于向量的最后一个元素之后

    const_iterator begin() const  //返回一个迭代器,该迭代器引用向量的第一个元素

    const_iterator end() const  //返回一个迭代器,该迭代器位于向量的最后一个元素之后

    size_type capacity() const  //返回可以存储在向量中的元素数目

    void clear()  //清除向量中的所有元素

    bool empty() const  //如果向量不包括元素,则返回true,否则返回false

    iterator erase(iterator i)  //删除由迭代器i引用的元素,返回一个迭代器,引用被删除元素之后的元素

    iterator erase(iterator first, iterator last)  //删除迭代器first和last指示范围中的元素,返回一个迭代器,引用被删除的最后一个元素之后的元素

    iterator insert(ierator i, const T& el = T())  //在迭代器i引用的元素之前出入el,并返回引用新插入元素的迭代器

    void insert(iterator i, size_type n, const T& el)  //在迭代器i引用的元素之前插入el的n个副本

    void insert(iterator i, iterator first, iterator last)  //在迭代器i引用的元素之前插入迭代器first和迭代器last指示的范围中的元素

    size_type max_size() const  //返回向量最大元素数

    T& operator[]  //下标运算符

    const T& operator[] const  //下标运算符

    void pop_back()  //删除向量的最后一个元素

    void push_back(const T& el)  //在向量的末尾插入el

    reverse_iterator rbegin()  //返回引用向量中最后一个元素的迭代器

    const_reverse_iterator rbegin() const  //返回引用向量中最后一个元素的迭代器

    reverse_iterator rend()  //返回引用向量中第一个元素之前的迭代器

    const_reverse_iterator rend() const  //返回引用向量中第一个元素之前的迭代器

    void reserve(size_type n)  //如果向量的容量小于n,该函数就为向量预留保存n项的足够空间

    void resize(size_type n, const T& el = T())  //使向量保存n个元素,方法是:通过el再添加n-size()个位置,或者丢弃向量末尾溢出的size()-n个位置

    size_type size() const  //返回向量中的元素数量

    void swap(vector<T>& v)  //与另一个向量v交换内容

     在 vector 容器中间添加(或删除)元素将使所有指向插入(或删除)点后面的元素的迭代器失效。

  • 相关阅读:
    SimpleAdapter的用法
    ListView中加载大量的图片
    用PreferenceActivity做一个标准的设置界面
    用代码构造PreferenceScreen
    工具类之Condition
    工具类之Mutex
    Linux初探之如何查看帮助文档自学命令[网址]
    linux基础之帮助文档---常用的命令[转载]
    Linux 下常见的四款chm查看器比较[转载+亲测可用]
    Linux(Ubuntu)下MySQL的安装与配置[转载+亲测]
  • 原文地址:https://www.cnblogs.com/Toya/p/9707614.html
Copyright © 2011-2022 走看看