acm的STL应用之vector篇

Posted vskendo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了acm的STL应用之vector篇相关的知识,希望对你有一定的参考价值。

2018-07-12

在acm中c++使用vector

Vector是什么?

1.vector介绍以及常用指令

专业来说:

  vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库

  vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象

  

简单来说:

vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。

长度灵活,不需要维护长度。

可以装下所有基本数据类型,也可以装用户定义的结构体

需要声明头文件以及命名空间。

因为总是需要输入输出数据,所以顺便声明iostream了

#include<vector>
#include<iostream>
using namespace std;

声明一个容器

vector<int> ivec;

 

ivec.at(idx):传回索引idx所指的数据,如果idx越界,抛出out_of_range。

ivec.back():传回最后一个数据,不检查这个数据是否存在。

 

 

ivec.begin():传回迭代器重的可一个数据。

ivec.front():传回第一个数据。

ivec.end():指向迭代器中的最后一个数据地址。

 

ivec.clear():移除容器中所有数据。

ivec.empty():判断容器是否为空。

ivec.size():返回当前容器的大小。

 

ivec.erase(pos):删除pos位置的数据,传回下一个数据的位置。

ivec.pop_back():删除最后一个数据。

ivec.push_back(elem):在尾部加入一个数据。

 1 //sample input
 2 int main(){
 3     
 4     vector<int> vec;
 5     vec.push_back(3);
 6     vec.push_back(4);
 7     vec.push_back(3);
 8     cout<<vec.at(1)<<endl;
 9     cout<<vec[1]<<endl;
10     
11     return 0;
12 }
//sample output
4
4

可见,访问容易中的数据有2中方法。数组访问和用at(index)访问。

 (待完善)

 

以上是关于acm的STL应用之vector篇的主要内容,如果未能解决你的问题,请参考以下文章

acm的STL容器之队列篇

acm的STL容器之Map篇

跟我学C++中级篇——STL的容器Array

stl之vector的应用

STL之vector的应用

STL之map篇