1.向量容器vector

1.1 vector说明

  • 进行vector操作前应添加头文件#include<vector>;
  • vector是向量类型,可以容纳许多类型的数据,因此也被称为容器;
  • 可以理解为动态数组,是封装好了的类,可以在运行阶段设置长度;
  • 具有数组的快速索引方式;
  • 可以插入和删除元素。

1.2 建议使用场景

  • 开始就知道元素的数量;
  • 对数据的索引和随机访问频繁;
  • 插入和删除大多数在尾端。

1.3 vector初始化

  使用格式:vector<数据类型> 变量名

  常用的方式有如下几种:

  • 方式1:
/* 定义一个整型向量(大小没有指定,可以动态的向里面添加删除) */
vector<int> a
  • 方式2:
/* 定义具有10个整型元素的向量(尖括号为元素类型名,它可以是任何合法的数据类型),不具有初值,其值不确定 */
vector<int> a();
  • 方式3:
 /* 定义具有10个整型元素的向量,且给出的每个元素初值为1 */
vector<int> a(,);

1.4 常用操作

1.5 用例

#include<iostream>
#include<vector>
#include<algorithm> using namespace std;
int main()
{
int i;
/*定义一个double类型的向量容器,不指定容器的大小 */
vector<double> vectorDouble = {12.1, 12.2, 12.3, 12.4};
cout<<"普通遍历方式:"<<endl;
cout<<"插入数字前遍历:"<<endl;
/* 遍历容器中的成员 */
for(i = ; i < vectorDouble.size(); i++)
{
cout<<vectorDouble[i]<<endl;
}
/* 向容器中插入数字 */
vectorDouble.push_back(110.1);
cout<<"插入数字后遍历:"<<endl;
/* 遍历容器中的成员 */
for(i = ; i < vectorDouble.size(); i++)
{
cout<<vectorDouble[i]<<endl;
}
/* 集合通用的遍历方法:使用迭代器 iterator */
vector<double>::iterator it;
cout<<"使用迭代器方式遍历:"<<endl;
/* 遍历容器中的成员 */
for(it = vectorDouble.begin(); it != vectorDouble.end(); ++it)
{
cout<<*it<<endl;
}
cout<<"使用迭代器正排序:"<<endl;
/*正 排序 */
sort(vectorDouble.begin(), vectorDouble.end());
/* 遍历容器中的成员 */
for(it = vectorDouble.begin(); it != vectorDouble.end(); ++it)
{
cout<<*it<<endl;
}
cout<<"使用迭代器逆排序:"<<endl;
/* 逆排序*/
reverse(vectorDouble.begin(), vectorDouble.end());
/* 遍历容器中的成员 */
for(it = vectorDouble.begin(); it != vectorDouble.end(); ++it)
{
cout<<*it<<endl;
}
return ;
}

  程序运行结果显示:

向量容器vector操作的更多相关文章

  1. C++STL之vector向量容器

    vector向量容器   vector向量容器不但能向数组一样对元素进行随机访问, 还能在尾部插入元素 vector具有内存自动管理的功能, 对于元素的插入和删除, 可动态调整所占的内存空间 vect ...

  2. STL标准库-容器-vector

    技术在于交流.沟通,本文为博主原创文章转载请注明出处并保持作品的完整性. 向量容器vector是一个动态数组,内存连续,它是动态分配内存,且每次扩张的原来的二倍. 他的结构如下 一 定义 vector ...

  3. C++ STL中vector(向量容器)使用简单介绍

    原文:http://www.seacha.com/article.php/knowledge/cbase/2013/0903/2205.html C++ vector(向量容器)是一个线性顺序结构.相 ...

  4. STL标准模板库 向量容器(vector)

    向量容器使用动态数组存储.管理对象.因为数组是一个随机访问数据结构,所以可以随机访问向量中的元素.在数组中间或是开始处插入一个元素是费时的,特别是在数组非常大的时候更是如此.然而在数组末端插入元素却很 ...

  5. vector 向量容器用法祥解

    vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的. 用法:         ...

  6. vector向量容器(常用的使用方法总结)

    关于STL中vector容器的学习,编译运行后边看代码,边看执行结果效果更佳,还是想说看别人的代码一百遍,不如自己动手写一遍. vector向量容器不但能像数组一样对元素进行随机访问,还能随时在尾部插 ...

  7. 学习笔记之vector向量容器

    今天复习到vector向量容器,里面包括vector向量容器的一些优点以及具体的使用方法及代码,分享给大家. Vector向量容器不但能够像数组一样对元素进行随机访问,还可以在尾部插入元素,是一种简单 ...

  8. 利用copy函数简单快速输出/保存vector向量容器中的数据

    如果要输出vector中的数据我们可以通过循环语句输出,更加简便的方法是利用copy函数直接输出,例子: #include "stdafx.h" #include <iost ...

  9. vector向量容器

    vector向量容器不但可以像数组一样对元素进行随机访问,还能在尾部插入元素,是一种简单高效的容器,可以代替数组. vector具有内存自动管理的功能,对于元素的插入和删除,可以动态的调整所占内存. ...

随机推荐

  1. Thread的join方法

    一个线程在执行的过程中,可能调用另一个线程,前者可以称为调用线程,后者成为被调用线程. Thread.Join方法的使用场景:调用线程挂起,等待被调用线程执行完毕后,继续执行. 如下案列: 当NewT ...

  2. Struts2报错异常Method "setUser" failed for object com.mikey.action.ConverterAction@dd34285

    在写类型转换的时候发现报错 异常信息 ognl.MethodFailedException: Method "setUser" failed for object com.mike ...

  3. LXML解析html代码和文件

    from lxml import etree text = """ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. ...

  4. 进程fork

    fork用于父进程创建一个子进程 返回两次 返回-1表示错误 父进程中返回创建子进程的ID,大于0 返回0是表示进入子进程 创建的子进程会继承父进程的属性,比如打开的文件描述符.工作目录.根目录等等. ...

  5. spring boot中的底层配置文件application.yam(application.property)的装配原理初探

    *在spring boot中有一个基础的配置文件application.yam(application.property)用于对spring boot的默认设置做一些改动. *在spring boot ...

  6. 修改vue中的挂载页面(index.html)的路径

    修改vue中的挂载页面(index.html)的路径 2019年03月30日 12:07:12 VegasLemon 阅读数 501    版权声明:本文为博主原创文章,未经博主允许不得转载. htt ...

  7. Android学习笔记17:单项选择RadioButton和多项选择CheckBox的使用

    请参见 http://www.android100.org/html/201406/05/19495.html

  8. JS中字符串的编码 解码

    DEPTNAME 是一个字符串 编码: DEPTNAME = encodeURI(encodeURI(DEPTNAME)); 解码: DEPTNAME = decodeURI(DEPTNAME,&qu ...

  9. 「Luogu4556」Vani有约会-雨天的尾巴

    「Luogu4556」Vani有约会-雨天的尾巴 传送门 很显然可以考虑树上差分+桶,每次更新一条链就是把这条链上的点在桶对应位置打上 \(1\) 的标记, 最后对每个点取桶中非零值的位置作为答案即可 ...

  10. 133、Java获取main主函数参数

    01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...