• 基本用法
#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. javascript bom操作

    BOM BOM介绍 全称 Browser Object Mode 浏览器对象模式 操作浏览器的API接口.比如浏览器自动滚动 Windows对象的顶层部分是BOM的顶层(核心)对象,所有的对象都是通过 ...

  2. Python标准库: functools (cmp_to_key, lru_cache, total_ordering, partial, partialmethod, reduce, singledispatch, update_wrapper, wraps)

    functools模块处理的对象都是其他的函数,任何可调用对象都可以被视为用于此模块的函数. 1. functools.cmp_to_key(func) 因为Python3不支持比较函数,cmp_to ...

  3. java学习笔记(6)-多线程(1)

    标签(空格分隔): 笔记 一.基本概念 1.1 程序.进程.线程 程序(program):是为完成特定任务.用某种语言编写的一组指令的集合.即指一段静态的代码,静态对象. 进程(process):是程 ...

  4. TensorSpace:超酷炫3D神经网络可视化框架

    TensorSpace:超酷炫3D神经网络可视化框架 TensorSpace - 一款 3D 模型可视化框架,支持多种模型,帮助你可视化层间输出,更直观地展示模型的输入输出,帮助理解模型结构和输出方法 ...

  5. 用 Python 把微信小程序的二维码转化成图片

    官方文档 import cString import requests from tornado.web import authenticated, RequestHandler URL = 'htt ...

  6. [PKUSC2018]主斗地(搜索+贪心)

    首先如果对子和三张牌出现在解中,那么全拆成单张显然没有问题,顺子同理.于是真正有用的牌型就只有单牌.三带一.三带二.四带二了. 暴搜jry手中的牌,然后先搜出双方的大牌型(即三张.四张牌的个数),再枚 ...

  7. linux安装imagemagick,centos安装imagemagick方法

    1.安装文件格式支持库 yum install tcl-devel libpng-devel libjpeg-devel ghostscript-devel bzip2-devel freetype- ...

  8. Golang安装和配置

    Golang安装和配置 Linux Golang 下载源码,解压. # /home/superpika为你的主目录 mkdir /home/superpika/go mkdir /home/super ...

  9. 转 使用IParameterInspector, IOperationBehavior,Attribute(参数检查器、操作行为接口和标签)扩展WCF操作行为

    public class EntryIdInspector : IParameterInspector { public int intParamIndex { get; set; } string ...

  10. 使用 rm -rf 删除了工程目录,然后从 pycharm 中找了回来

    一次惊险的 rm -rf 操作,以后删东西真的要小心,慢点操作 前两天周 4 周 5,写了两天的 python 代码没有提交,昨天晚上删日志目录,先跨目录查看了下日志目录的列表情况:ll ~/logs ...