##### vector的定义

```
#include <iostream>
#include <string>
#include <vector>
using namespace std;
struct stu{
int age;
};
class xx{
string s;
};
void vectorDefine(){

vector<int> vec;
vector<struct stu> vec2;
vector<xx> vec3;
vector<string> vec4;
vector<int*> vec5;
}
```
##### vector的构造

```
void vectorConstructor(){
vector<int> vec;
vector<int> vec1(5);//5个元素全是0
vector<int> vec2(5,9);//5个9
vector<int> vec3(vec2);//拷贝构造,类型一定要一样
vector<int> vec4(vec2.begin(),vec2.end());//迭代器构造
for(int i=0;i<5;i++){//循环遍历
cout<<vec4[i];
}
}
```
##### vector的容量
- vec.capacity();
**用法**
vector初始容量为0
给初始容量为x
进行vec.push_back(T t)操作后,容量在vs变为1.5倍
在devC++变为2倍
- vec.reserve(int i); 改变容量
- vec.size(); 求到vec的大小
- vec.resize(); 重新设置元素个数,容量不变

##### vector的操作
**增加**
- vec.push_back(T t); 在尾部增加一个元素
- vec[int index]; 输出index位置的元素
- vec.at(int index); 输出index位置的元素
- vec.back(); 返回尾巴元素
- vec.insert(iterator i,T t);在iterator处插入元素t
- vec.insert(iterator i,int num.T t)在iterator处插入num个元素T

**删除**
- vec.pop_back(); 删除尾巴元素
- vec.erase(iterator i); 删除iterator位置的元素
- vec.clear(); 清除所有元素

##### 算法
**sort**
sort(iterator begin,iterator end) 从小到大排序
sort(iterator begin,iterator end,greater\<int>()) 从大到小

**for_each**
for_each(iterator begin,iterator end,void operatorFun())
进行每个元素操作的功能

**random_shuffle**
srand((unsigned int)time(NULL));
random_shuffle(iterator begin,iterator end);
随机打乱顺序

```
#include <iostream>
#include <vector>
#include <algorithm>
#include <ctime>
using namespace std;
int main(int argc, char** argv) {
vector<int> vec;
vec.push_back(5);
vec.push_back(10);
vec.push_back(15);
srand((unsigned int)time(NULL));
random_shuffle(vec.begin(),vec.end());
for(int i=0;i<vec.size();i++){
cout<<vec[i]<<endl;
}
return 0;
}
```

C++ STL(二)vector的用法的更多相关文章

  1. C++学习二 vector的用法(使用sort对于vector排序)

    一.vector的介绍 vector是C++里面的一个容器,也是我们数学上面理解的向量,有一些比较常见的操作. 二.vector的定义 #include<vector> using nam ...

  2. STL:vector容器用法详解

    vector类称作向量类,它实现了动态数组,用于元素数量变化的对象数组.像数组一样,vector类也用从0开始的下标表示元素的位置:但和数组不同的是,当vector对象创建后,数组的元素个数会随着ve ...

  3. STL中vector的用法

    vector是标准模板库的一种容器,是可存放各种类型的动态数组. #include<iostream> #include<vector> using namespace std ...

  4. 【STL】- vector的用法

    初始化: 1. 默认构造: vector<int> vint; 2. 用包含10个元素的数组初始化: vector<int> vint(ia, ia+10); 算法: 1. v ...

  5. C++-STL:vector用法总结

    目录 简介 用法 1. 头文件 2. vector的声明及初始化 3. vector基本操作 简介 vector,是同一类型的对象的集合,这一集合可看作可变大小的数组,是顺序容器的一种.相比于数组,应 ...

  6. STL中的Vector相关用法

    STL中的Vector相关用法 标准库vector类型使用需要的头文件:#include <vector>. vector 是一个类模板,不是一种数据类型,vector<int> ...

  7. STL vector常见用法详解

    <算法笔记>中摘取 vector常见用法详解 1. vector的定义 vector<typename> name; //typename可以是任何基本类型,例如int, do ...

  8. 【校招面试 之 C/C++】第20题 C++ STL(二)之Vector

    1.vector的动态增长 当添加元素时,如果vector空间大小不足,则会以原大小的两倍另外配置一块较大的新空间,然后将原空间内容拷贝过来,在新空间的内容末尾添加元素,并释放原空间.vector的空 ...

  9. c++中vector的用法详解

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

  10. STL中vector、list、deque和map的区别

    1 vector     向量 相当于一个数组    在内存中分配一块连续的内存空间进行存储.支持不指定vector大小的存储.STL内部实现时,首先分配一个非常大的内存空间预备进行存储,即capac ...

随机推荐

  1. Android-Universal-Image-Loader的缓存处理机制与使用 LruCache 缓存图片

    讲到缓存,平时流水线上的码农一定觉得这是一个高大上的东西.看过网上各种讲缓存原理的文章,总感觉那些文章讲的就是玩具,能用吗?这次我将带你一起看过UIL这个国内外大牛都追捧的图片缓存类库的缓存处理机制. ...

  2. U盘无法拷贝大于4G的文件解决办法汇总

    U盘主要有三种格式: FAT32: 缺点:单个文件不能超过4GB,不支持512MB以下容量的U盘 备注:如果U盘容量达8GB以上,发现4GB文件拷不进去的话,可以考虑换用NTFS或ExFAT格式了 ● ...

  3. Git-Runoob:Git 服务器搭建

    ylbtech-Git-Runoob:Git 服务器搭建 1.返回顶部 1. Git 服务器搭建 上一章节中我们远程仓库使用了 Github,Github 公开的项目是免费的,但是如果你不想让其他人看 ...

  4. Lombok 学习指南

    转自:https://segmentfault.com/a/1190000020864572 一.Lombok 简介 Lombok 是一款 Java 开发插件,使得 Java 开发者可以通过其定义的一 ...

  5. 为解决Thymeleaf数字格式化问题而想到的几种方案

    背景: spring后端输出double类型数据,前端使用thymeleaf框架,格式化double数据类型,由于需要显示原值(比如原来录入5,而不能显示5.00),因此需要存储数值(存储值为deci ...

  6. Python 基础语法_Python脚本文件结构

    目录 目录 前言 软件环境 Python Script文件结构 导入模块的流程 Python的包package 最后 前言 Python基础语法这一章,主要记录了Python的文件结构.逻辑运算符.算 ...

  7. selenium之css selector定位

    什么是CSS Selector? Css Selector定位实际就是HTML的Css选择器的标签定位 工具 Css Selector的练习建议大家安装火狐浏览器(49及以下版本)后,下载插件Fire ...

  8. Python实现利用最大公约数求三个正整数的最小公倍数示例

    Python实现利用最大公约数求三个正整数的最小公倍数示例 本文实例讲述了Python实现利用最大公约数求三个正整数的最小公倍数.分享给大家供大家参考,具体如下: 在求解两个数的小公倍数的方法时,假设 ...

  9. 实现 laravel 的artisan

    laravel 的 artisan 命令行太好用了,换个框架没有这个功能,于是自己学习实现一些,直接上代码 新建目录 -artisan --bin --src 进入artisan composer i ...

  10. MYSQL5.5 linux安装

    1.常规的编译安装MYSQL 此种方法使用所有Mysql5.0 - 5.1 系列产品 比较常规的编译方式 2. 采用cmake 方式编译安装Mysql 3.二进制安装方式 免编译安装MYSQL 4.如 ...