• 基本用法
#include<iostream>
#include<vector>
using namespace std;
void main()
{
vector<int> a(,);//初始化容器,开辟10个单位空间·元素初始化为1
int i;
cout << "初始化变量" << endl;
for (int i=;i<a.size();i++)
{
cout << a[i] << " ";
}
cout << "插入数据" << endl;
cin >> a[];
cin>> a[];
cin >> a[];
cout << "赋值之后的变量" << endl; for (int i = ; i < a.size(); i++)
{
cout << a[i] << " ";
}
cout << endl;
}

输出结果:

  • 常见花式操作
#include<iostream>
#include<vector>
using namespace std;
void main()
{
int mynum[] = {,,,,};
int i = ;
vector<int> a(mynum,mynum+);//初始化容器,开辟10个单位空间·元素初始化为1
for (i=;i<a.size();i++)
{
cout << a[i] << " ";
}
cout <<endl;
vector<int> b(a.begin(), a.begin()+);//借助另一容器的开始,及后面连续的n个单位
for (i = ; i < b.size(); i++)
{
cout << b[i] << " ";
}
cout << endl;
vector<int> c(&mynum[], &mynum[]);//以数组的第三个元素地址起,3个单位
for (i = ; i < c.size(); i++)
{
cout << c[i] << " ";
}
}

输出结果:

  • 二维数组vector<vector<int>>a(4,vector<int>(4,8))
#include<iostream>
#include<vector>
using namespace std;
void main()
{
//用vector声明一个4*4的矩阵
vector<vector <int>>a(,vector<int>(,));
int i = ;
int j = ;
for (i=;i<a.size();i++)
{
for (j=;j<a[i].size();j++)
{
cout << a[i][j] << " ";
}
cout << endl;
}
cin >> a[][];
cin >> a[][];
cin >> a[][];
cin >> a[][];
cout << "赋值后的语句"<<endl;
for (i = ; i < a.size(); i++)
{
for (j = ; j < a[i].size(); j++)
{
cout << a[i][j] << " ";
}
cout << endl;
} }

输出结果:

  • 用vector容器盛放一个类
#include<iostream>
#include<string>
#include<vector>
using namespace std;
class mycoach
{
public:
friend ostream &operator<<(ostream &out, mycoach &t);
mycoach(string name,int age)
{
this->name = name;
this->age = age;
}
~mycoach()
{
//cout << "回中式宿舍休息去了" << endl;
}
private:
string name;
int age;
}; ostream &operator<<(ostream &out,mycoach &t)
{
out<< t.name << "......" << t.age << endl;
return out;
}
void main()
{
vector<mycoach> v1;
mycoach cpc("陈培昌", ), fgf("付高峰", ), xxd("徐晓冬", ), mjx("明佳新", );
v1.push_back(cpc);//把类对象压入vector容器
v1.push_back(fgf);
v1.push_back(xxd);
v1.push_back(mjx);
for (vector<mycoach>::iterator it= v1.begin(); it!=v1.end(); it++)
{
cout << *it << endl;
} }

步骤一:声明vector变量v1

步骤二:通过迭代器循环遍历vector容器,for(vector<类型名>::iterator it(迭代器变量名) =v1.begin(); it!=v1.end();it++)

输出结果:

  • 把指针装入vector容器
#include<iostream>
#include<string>
#include<vector>
using namespace std;
class mycoach
{
public:
friend ostream &operator<<(ostream &out, mycoach &t);
mycoach(string name,int age)
{
this->name = name;
this->age = age;
}
mycoach(const mycoach &t)
{
this->name = t.name;
this->age = t.age;
} string name;
int age;
}; ostream &operator<<(ostream &out, mycoach &t)
{
out << t.name << "......" << t.age << endl;
return out;
} void main()
{
mycoach cpc("陈培昌", ), fgf("付高峰", ), xxd("徐晓冬", ), mjx("明佳新", );
mycoach *m1,*m2, *m3, *m4;
m1 = &cpc;
m2 = &fgf;
m3 = &xxd;
m4 = &mjx;
vector<mycoach *> v1;
v1.push_back(m1);
v1.push_back(m2);
v1.push_back(m3);
v1.push_back(m4);
for (vector<mycoach *>::iterator it=v1.begin();it!=v1.end();it++)
{
cout << (*it)->name << endl;//注意!把属性声明为public,否则无法通过指针直接访问到
cout << (**it);
}
}

输出结果:

  • 查询某一元素在容器中出现的次数
void main()
{
vector<int> v1;
v1.push_back();
v1.push_back();
v1.push_back();
v1.push_back();
v1.push_back();
v1.push_back();
for (vector<int>::iterator it = v1.begin(); it != v1.end(); it++)
{
cout << *it << endl;
}
int num = count(v1.begin(),v1.end(),);
cout << "5出现了" <<num<<"次"<< endl;
system("pause");
}

输出结果:

c++ vector容器基本用法的更多相关文章

  1. vector容器的用法

    转自一篇博客^-^: 1 基本操作 (1)头文件#include<vector>. (2)创建vector对象,vector<int> vec; (3)尾部插入数字:vec.p ...

  2. vector容器的用法以及动态数组

    vector容器不必去管大小 string申明的数组已经是动态的了 若是int类型的话,需要 cin>>N: int a[N]会出错 ,必须是int *p = new int[N] 然后再 ...

  3. (转载)C++STL中vector容器的用法

     vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库.vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说vec ...

  4. 【C++】vector容器的用法

    检测vector容器是否为空: 1 #include <iostream> 2 #include <string> 3 #include <vector> 4 us ...

  5. vector容器经常用法

    容器简单介绍 定义及初始化 末尾插入元素 遍历 size 函数是能够动态添加的 通过下标操作添加改变vector内容不是安全的操作 仅能对已存在元素进行下标操作不存在会crash 将元素一个容器复制给 ...

  6. Vector 容器简单介绍

    # Vector STL简要介绍 关于STL中的vector容器,以下做一些相关介绍. #### vector 简要概述 vector 称作向量类,属于容器类,实现了动态的数组,用于元素数量变化的对象 ...

  7. STL:vector容器用法详解

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

  8. vector容器用法详解

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

  9. STL之二:vector容器用法详解

    转载于:http://blog.csdn.net/longshengguoji/article/details/8507394 vector类称作向量类,它实现了动态数组,用于元素数量变化的对象数组. ...

随机推荐

  1. ECOC 2019展会:以太网联盟公开展示其下一代网络100/200/400G互通测试能力,网络自动化测试能力再次被提出

    欧洲光纤通讯展ECOC 2019正在火热进行,以太网联盟组织Ethernet Alliance在其公开展台演示了其下一代高速网络100G/200G/400G相关能力,其成员单位Cisco,Arista ...

  2. 虚拟机中windows下制作超级隐藏账户

    这篇博客非原创,我只是将很多大佬写的东西理解了一下写了出来. 接下来的实验最好在虚拟机进行,因为可以快照~ 制作隐藏用户可以说是两种方法但是基本操作一样,所以我们穿插着进行一种是隐藏账户,一种是影子账 ...

  3. ROS初探--意义、基本模块

    顾虑就使我们都变成了懦夫,使得那果断的本色蒙上了一层思虑的惨白的容颜,本来可以做出伟大的事业,由于思虑就化为乌有了,丧失了行动的能力.-----哈姆雷特 ROS: Robot Operating Sy ...

  4. CentOS7.6安装Pycharm并添加快捷方式

    1.以用户身份登录jiangshan 并建立/home/jiangshan/pycharm文件夹2.下载 pycharm-community-anaconda-2019.1.3.tar.gz 放置在/ ...

  5. D2.Docker: 安装部署相关问题

    [mysql] docker 安装完mysql 后客户端无法访问

  6. pod宿主机挂载pv存储过程

    1处的控制循环Control Loop应该是:VolumeManagerReconciler ----------------------------------------------------- ...

  7. io.lettuce.core.protocol.ConnectionWatchdog - Reconnecting, last destination was ***

    一.问题 redis起来后一直有重连的日志,如下图: 二.分析 参考lettuce-core的github上Issues解答https://github.com/lettuce-io/lettuce- ...

  8. linux下的打包与解包的简单总结

    .tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) ---------------------- ...

  9. 安装CentOS7服务器

    1. 基本安装 https://www.cnblogs.com/kreo/p/4396825.html 2.安装补充 防火墙 / FTP / Nginx https://www.cnblogs.com ...

  10. 怎样安装ipython

    ipython 是一个python的交互式shell, 比默认的python shell更好用, 支持自动补全 / 上下翻等功能.  下面是按照方法: # 通用安装方法 pip install ipy ...