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篇的主要内容,如果未能解决你的问题,请参考以下文章