码迷,mamicode.com
首页 > 其他好文 > 详细

acm的STL应用之vector篇

时间:2018-07-12 13:22:01      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:数据结构和算法   维护   个数   range   namespace   stream   front   c++标准模板库   strong   

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篇

标签:数据结构和算法   维护   个数   range   namespace   stream   front   c++标准模板库   strong   

原文地址:https://www.cnblogs.com/VsKendo/p/9298341.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!