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. Java Juc学习笔记

    Java JUC 简介 在 Java 5.0 提供了 java.util.concurrent (简称JUC )包,在此包中增加了在并发编程中很常用的实用工具类,用于定义类似于线程的自定义子系统,包括 ...

  2. c++刷算法的好处

    写再最前面:摘录于柳神的笔记 在已经学习过C语⾔的前提下,学习C++并使⽤它刷算法的学习成本⾮常低-只需要⼏个⼩时就可 以学会- C++向下兼容C,C语⾔⾥⾯的语法完全可以在C++⽂件中运⾏,所以学习 ...

  3. JS 瀑布流效果

    JS瀑布流效果 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> < ...

  4. HashMap的应用

    HashMap <String,String> hsMap=new HashMap<String,String> hsMap.put("1","v ...

  5. H5新增的标签和属性

    声明 Web 世界中存在许多不同的文档.只有了解文档的类型,浏览器才能正确地显示文档. HTML 也有多个不同的版本,只有完全明白页面中使用的确切 HTML 版本,浏览器才能完全正确地显示出 HTML ...

  6. 转:Entity Framework 5.0 Code First全面学习

    Code First 约定 借助 CodeFirst,可通过使用 C# 或Visual Basic .NET 类来描述模型.模型的基本形状可通过约定来检测.约定是规则集,用于在使用 Code Firs ...

  7. 一文解读CAP (转)

    分布式系统(distributed system)正变得越来越重要,大型网站几乎都是分布式的. 分布式系统的最大难点,就是各个节点的状态如何同步.CAP 定理是这方面的基本定理,也是理解分布式系统的起 ...

  8. 一文解读CDN (转)

    如今这个移动互联网时代,越来越多的人使用手机观看视频,丰富自己的娱乐生活. 可是,大家在追剧的时候,有没有想过一个问题——为什么有时候明明自己手机的网速很快,但观看视频时,仍然卡顿? 回答这个问题之前 ...

  9. 新闻网大数据实时分析可视化系统项目——4、Zookeeper分布式集群部署

    ZooKeeper 是一个针对大型分布式系统的可靠协调系统:它提供的功能包括:配置维护.名字服务.分布式同步.组服务等: 它的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效.功能稳定的 ...

  10. windows系统下 VUE cli手脚架环境安装

    1.安装 node.js环境  (cmd命令工具里输入 node -v 检测是否安装成功) 2.安装VUE 全局环境 npm install --global vue-cli (cmd命令工具里面安装 ...