//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 容器中间添加(或删除)元素将使所有指向插入(或删除)点后面的元素的迭代器失效。

标准模板库中的向量(vector)的更多相关文章

  1. 8、泛型程序设计与c++标准模板库2、c++标准模板库中的容器

    顺序容器类以逻辑线性排列方式存储元素,在这些容器类型中的元素在逻辑上被认为是连续的存储空间中存储的.顺序容器可用于存储线性群体. 在关联容器类中,元素的存储和检索基于关键字和元素与其他元素之间的关系, ...

  2. 8、泛型程序设计与c++标准模板库2.2向量容器

    向量容器属于顺序容器,用于容纳不定长线性序列(即线性群体),提供对序列的快速随机访问(也称直接访问).这一点与c++语言支持的基本数组类型相同,但基本数据类型不是面向对象的.而面向对象的向量是动态结构 ...

  3. 标准模板库 STL 使用之 —— vector 使用 tricks

    1. 从已有 vector(或数组)中复制 vector<int> a{....}; int an = a.size(); int half = an/2; vector<int&g ...

  4. 标准模板库中的队列(queue)

    //C++数据结构与算法(第4版) Adam Drozdek 著  徐丹  吴伟敏<<清华大学出版社>> 队列容器默认由deque实现,用户也可以选择list容器来实现.如果用 ...

  5. 标准模板库中的栈(stack)

    ////C++数据结构与算法(第4版) Adam Drozdek 著  徐丹  吴伟敏<<清华大学出版社>> STL中的通用栈类实现为容器适配器:使用以指定方式运行的容器.栈容 ...

  6. STL(标准模板库) 中栈(stack)的使用方法

    STL 中栈的使用方法(stack) 基本操作: stack.push(x)  将x加入栈stack中,即入栈操作 stack.pop()  出栈操作(删除栈顶),只是出栈,没有返回值 stack.t ...

  7. 标准模板库中的优先队列(priority_queue)

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

  8. 标准模板库中的链表(list)

    //C++数据结构与算法(第4版) Adam Drozdek 著  徐丹  吴伟敏<<清华大学出版社>> 头文件:include<list> list() 创建一个 ...

  9. C++的标准模板库STL中实现的数据结构之顺序表vector的分析与使用

    摘要 本文主要借助对C++的标准模板库STL中实现的数据结构的学习和使用来加深对数据结构的理解.即联系数据结构的理论分析和详细的应用实现(STL),本文是系列总结的第一篇,主要针对线性表中的顺序表(动 ...

随机推荐

  1. JavaScirpt - 模块的写法

    传送门 http://www.ruanyifeng.com/blog/2012/10/javascript_module.html 1. 原始写法 function f1() { // do sth. ...

  2. hive3.1.1 hive-site.xml

    <property> <name>hive.metastore.warehouse.dir</name> <value>/data/hive/wareh ...

  3. PyQt5绘图API

    PyQt5绘图API大全1.绘图API:绘制文本#1.文本 2.各种图形 3.图像#QPainter painter=QPainter() painter.begin() painter.end() ...

  4. Vue——解决移动端键盘弹起导致的页面fixed定位元素布局错乱

    最近做了一个移动端项目,页面主体是由form表单和底部fixed定位的按钮组成,当用户进行表单输入时,手机软键盘弹起,此时页面的尺寸发生变化,底部fixed定位的元素自然也会上移,可能就会覆盖页面中的 ...

  5. 吴裕雄 python 神经网络——TensorFlow训练神经网络:全模型

    import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data INPUT_NODE = 784 ...

  6. 洛谷P1006传纸条

    题目描述 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做成一个 m 行 n 列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了. ...

  7. vue项目中vant tab改变标签颜色

    找了几种方法,只有下面这个方法是生效的: <van-tabs v-model="active" sticky title-active-color="#144a9e ...

  8. Python安装numpy,pandas慢,超时报错,下载不了的解决方法

    由于python的默认源是国外的,所以下载的时候会很慢,甚至会出现超时下载失败,提供两个解决方法 1.设置pip的超时限制 打开cmd 输入pip --default-timeout=100 inst ...

  9. JShell的使用

    JShell脚本工具是JDK9的新特性 启动JShell工具,在DOS命令行直接输入JShell命令.(如下例) 这里我们用Hello,World举例: 结果显示是正确的. 这里再举一个例子: 结果可 ...

  10. redhat7.6 AIDE 系统文件完整性检查工具

    1.安装AIDE yum install  aide 安装完的配置文件,在/etc/aide.conf 自定义/etc/aide.conf 下面我写了对   /data/data1  目录做CONTE ...