c++ vector容器基本用法
- 基本用法
#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容器基本用法的更多相关文章
- vector容器的用法
转自一篇博客^-^: 1 基本操作 (1)头文件#include<vector>. (2)创建vector对象,vector<int> vec; (3)尾部插入数字:vec.p ...
- vector容器的用法以及动态数组
vector容器不必去管大小 string申明的数组已经是动态的了 若是int类型的话,需要 cin>>N: int a[N]会出错 ,必须是int *p = new int[N] 然后再 ...
- (转载)C++STL中vector容器的用法
vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库.vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说vec ...
- 【C++】vector容器的用法
检测vector容器是否为空: 1 #include <iostream> 2 #include <string> 3 #include <vector> 4 us ...
- vector容器经常用法
容器简单介绍 定义及初始化 末尾插入元素 遍历 size 函数是能够动态添加的 通过下标操作添加改变vector内容不是安全的操作 仅能对已存在元素进行下标操作不存在会crash 将元素一个容器复制给 ...
- Vector 容器简单介绍
# Vector STL简要介绍 关于STL中的vector容器,以下做一些相关介绍. #### vector 简要概述 vector 称作向量类,属于容器类,实现了动态的数组,用于元素数量变化的对象 ...
- STL:vector容器用法详解
vector类称作向量类,它实现了动态数组,用于元素数量变化的对象数组.像数组一样,vector类也用从0开始的下标表示元素的位置:但和数组不同的是,当vector对象创建后,数组的元素个数会随着ve ...
- vector容器用法详解
vector类称作向量类,它实现了动态数组,用于元素数量变化的对象数组.像数组一样,vector类也用从0开始的下标表示元素的位置:但和数组不同的是,当vector对象创建后,数组的元素个数会随着ve ...
- STL之二:vector容器用法详解
转载于:http://blog.csdn.net/longshengguoji/article/details/8507394 vector类称作向量类,它实现了动态数组,用于元素数量变化的对象数组. ...
随机推荐
- linux 安装 rpm 的jdk
1.下载 JDK 路径:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 下载 j ...
- [转帖]重估BAT与华为的云上野心
重估BAT与华为的云上野心 https://www.leiphone.com/news/201910/Z5aLhckqUjCNJ49o.html 本文作者:王刚 2019-10-11 16:19 导语 ...
- C++利用权重方法将二进制正数转换为十进制数
#include <iostream> #include <Windows.h> #include <string> using namespace std; in ...
- GitHub的Fork是什么意思
GitHub的Fork 是什么意思[转] GitHub Help Simple guide to forks in GitHub and Git GitHub的Fork 是什么意思-N神3-博客园 G ...
- NoSql 使用小结
NoSql 使用小结 足够的冗余 如果出现要拿某个 id 去查另外的 collection 的情况,说明应该往这个增加所要查询的字段 实在要做关联查询的话,是不是应该考虑关系型的数据库,关系和非关系混 ...
- jenkins pipeline中获取shell命令的标准输出或者状态
//获取标准输出//第一种 result = sh returnStdout: true ,script: "<shell command>" result = res ...
- 怎样修改element-ui中的样式?
方法一 方法二 使用 /deep/ .homePage /deep/ .el-main { padding: 0; } .homePage为我们要修改组件类名的父级组件样式类名..即使定义一个空的 ...
- Html5知识精粹纪录
1. HTML5文档的正文结构及新元素 正文结构: <header> <nav> <section> <aside> <footer> 深入 ...
- 爬虫request库规则与实例
Request库的7个主要方法: requests.request(method,url,**kwargs) method:请求方式,对应get/put/post等7种: r = reques ...
- CSS和LESS
1.CSS 层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言.CSS ...