Vector 本来是向量的意思,只不过在用法上类似于一个不限长度的数组。

定义语法:vector<数据类型> 名称;

一、头文件:<vector>  (bits/stdc++请忽略)

二、常用方法:

  a.size();  //读取大小

  a.resize():  //改变大小

  a.push_back();  //向尾部添加元素

  a.pop_back();  //删除最后一个元素

  a.clear();  //清空

  a.empty():  //返回是否为空

三、遍历

  STL的数据类型几乎(也许是全部)使用迭代器遍历。

  vector<int>::iterator it = a.begin();  //创建一个vector类型的迭代器(类似于指针)指向a的首地址

  在for中写就是:

  for (vector<int>::iterator it = a.begin(); it != a.end();it++)

  然后就可以使用*it来访问指向的地址的值了。

四、其他

  插入元素:    vec.insert(vec.begin()+i,a);  在第i+1个元素前面插入a;  (也就是说这个a就是i+1的位置)
  删除元素:    vec.erase(vec.begin()+2);  删除第3个元素
  vec.erase(vec.begin()+i,vec.end()+j);  删除区间[i,j-1];区间从0开始  (这个争议比较大,保留疑惑,正常不用)

待补充…………

【OI】C++STL 不定长数组 vector的更多相关文章

  1. 不定长数组 Vector的 应用

    #include<cstdio> #include<vector> using namespace std; vector<int>a; int main() { ...

  2. UVa101 The Blocks Problem(不定长数组vector)

    The Blocks Problem 书上的一道例题,代码思路比较清晰,可以看懂. 相关知识: 若a是一个vector,则: a.size():读取它的大小 a.resize():改变大小 a.pus ...

  3. (ACM模板)不定长数组vector

    #include<iostream> #include<cstdio> #include<vector> #include<algorithm> usi ...

  4. (STL初步)不定长数组:vector

    STL是指C++的标准模板库.(存储着一些常用的算法和容器) vector是一个不定长数组.它把一些常用的操作”封装“在vector类型内部. 例如,a是一个vector.1对元素的操作有,可以用a. ...

  5. 【算法专题】工欲善其事必先利其器—— C++ STL中vector(向量/不定长数组)的常用方法总结

    #include<iostream> #include<cstdio> #include<string> #include<vector>//不定长数组 ...

  6. STL之vector(不定长数组)

    vector就是一个不定长数组,另外它把一些常用操作“封装”在了vector类型内部.例如,若a是一个vector,可以用a.size()读取它的大小,a.resize()改变大小,a.push_ba ...

  7. C++如何返回不定长数组

    起初遇到这个问题的时候便得知无法返回,那么为了达到相同的目的,该怎么办呢? 第一个想法便是 int * void() { int * want = new int[size]; //......do ...

  8. C语言格式化输入不定长数组

    先随便写写,有空再整理. 直接贴代码 #include <stdio.h> #include <stdlib.h> //从一行标准输入中格式化输入一个不定长数组 void in ...

  9. 【STL初步】不定长数组:vector + 集合:set + 映射:map

    一.vector 为了节省空间,有时我们会使用动态数组vector. 定义动态数组 vector<类型名>变量名 vector<int>que //定义que为一个int类型的 ...

随机推荐

  1. Haskell Command-line Application Building

    Haskeline Package Haskeline provides a user interface for line input in command-line programs. This ...

  2. [08 Go语言基础-for循环]

    [08 Go语言基础-for循环] 循环 循环语句是用来重复执行某一段代码. for 是 Go 语言唯一的循环语句.Go 语言中并没有其他语言比如 C 语言中的 while 和 do while 循环 ...

  3. JVM-超全图

  4. 页面模型 PageModel

    Razor页面中的程序处理方法 OnGet 和 OnGetAsync是同样的处理程序,因此不能共存,否则会报错. 视图数据 ViewData 视图数据是从页面模型向内容页面传递数据的容器.视图数据是以 ...

  5. Vue CLI安装报错 npm ERR! Exit handler never called!

    安装Vue CLI时报错: npm install –g vue-cli 试了四种办法 1.把全局安装-g放到后面 npm install @vue/cli –g 2.命令行输入 npm 缓存清理命令 ...

  6. Pikachu-暴力破解模块

    一.概述 "暴力破解"是一攻击具手段,在web攻击中,一般会使用这种手段对应用系统的认证信息进行获取. 其过程就是使用大量的认证信息在认证接口进行尝试登录,直到得到正确的结果. 为 ...

  7. 「移动端」Web页面适配

    一.什么是移动端适配 移动端 Web 页面,就是常说的手机 h5页面.webview页面.公众号开发的网页等. 由于手机机型较多,各个手机的屏幕尺寸不一样,所以做移动端页面,需要考虑在安卓和ios的各 ...

  8. C# 利用反射进行深拷贝

  9. linux的一般命令------附加

    1.cat /etc/redhat-release             查看linux版本 2. ps -ef|grep ssh                        查看进程在不在 3. ...

  10. java基本数据类型转换字符串

    1.基本数据类型转换为字符串 int t1 = 2; String t2 = Integer.toString(t1); 2.字符串转换为基本数据类型 int t3 = Integer.parseIn ...