//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. ntpdate 设置时区(注意本地时区要设置正确)

    修改timezone sudo cp -a /usr/share/zoneinfo/Etc/GMT-8  /etc/localtime date -R   == 展示当前的timezone ntpda ...

  2. 《FA分享》---创业学习--训练营直播第二课--HHR

    盛沛涵,以太白泽董事 一,基金投资的出发点: 1,这个赛道是否只有头部一两名有机会,如果不是,投的概率更大. 2,  基金投资的判断逻辑: 1.我是不是要在这个赛道布局    2.这个赛道分布如何,有 ...

  3. 吴裕雄 python 神经网络——TensorFlow训练神经网络:不使用激活函数

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

  4. XCOJ 1008: 级数求和

    1008: 级数求和 题目描述 已知:Sn= 1+1/2+1/3+…+1/n.显然对于任意一个整数K,当n足够大的时候,Sn大于K.现给出一个整数K(1<=k<=15),要求计算出一个最小 ...

  5. 02-16Android学习进度报告十六

    今天主要学习了GridView(网格视图)的基本使用和一些基本概念. 下面是GridView中的一些属性: android:columnWidth:设置列的宽度 android:gravity:组件对 ...

  6. Codeforces Round #600 (Div. 2) - B. Silly Mistake(模拟)

    题意:有一个公司,每天有员工进出,$a[i]>0$时表示$a[i]$这个员工进入公司,$a[i]<0$时表示$-a[i]$这个员工出公司,公司对进出办公室有一些严格的规定 员工每天最多只能 ...

  7. 转载和补充:Oracle中的一些特殊字符

    oracle通配符,运算符的使用 用于where比较条件的有: 等于:=.<.<=.>.>=.<> 包含:in.not in exists.not exists 范 ...

  8. AF(操作者框架)系列(1)-LabVIEW中的模块化应用概述

    一.引子 在前面对LabVIEW介绍的文章中,关于框架开发的内容涉及很少.为了讲解操作者框架(Actor Framework)的优缺点,也只是拿出来QDSM(Queue-Driven State Ma ...

  9. 计算机基础,Python - 回调函数,使用装饰器注册回调函数

    1. 参考: https://en.wikipedia.org/wiki/Callback_(computer_programming) https://developer.mozilla.org/e ...

  10. python中 with 的作用

    with是 Python2.5 引入的一个新语法,它是一种上下文管理协议,目的在于从流程中吧 try...except 和 finally 关键字和资源释放相关代码统统去掉,简化 try...exce ...