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类称作向量类,它实现了动态数组,用于元素数量变化的对象数组. ...
随机推荐
- cmake vs qmake
qmake 是为 Qt 量身打造的,使用起来非常方便 cmake 使用上不如qmake简单直接,但复杂换来的是强大的功能 内置的 out-of source 构建.(目前QtCreator为qmake ...
- Nginx负载均衡总结2
如果要支持健康检查需要开启health_check(好吧,这个是nginx plus版本才有的功能,plus是付费版) 还有一点,Windows的nginx不支持udp等协议,所以有一些测试还必须用l ...
- LeetCode 145. 二叉树的后序遍历(Binary Tree Postorder Traversal)
145. 二叉树的后序遍历 145. Binary Tree Postorder Traversal 题目描述 给定一个二叉树,返回它的 后序 遍历. LeetCode145. Binary Tree ...
- [转帖]EPOLL和IOCP比较
EPOLL和IOCP比较 https://blog.csdn.net/educast/article/details/15503179 IOCP 异步非阻塞EPOLL 异步阻塞 EPOLL是半成品 ...
- EFCore中的导航属性
使用了这么久的EntityFrameworkCore框架,今天想来就其中的一个部分来做一个知识的梳理,从而使自己对于整个知识有一个更加深入的理解,如果你对EFCore中的实体关系不熟悉你需要有一个知识 ...
- PAT甲级 Dijkstra 相关题_C++题解
Dijkstra PAT (Advanced Level) Practice Dijkstra 相关题 目录 <算法笔记>重点摘要 1003 Emergency (25) <算法笔记 ...
- python 之 数据库(数据库安装方法、基本sql语句、存储引擎)
第十章 数据库 10.1 数据库介绍 1.数据库相关概念 数据库服务器:本质就是一个台计算机,该计算机之上安装有数据库管理软件的服务端 数据库管理系统RDBMS:本质就是一个C/S架构的套接字软件 库 ...
- python 之 前端开发(盒子模型、页面布局、浮动、定位、z-index、overflow溢出)
11.312 盒子模型 HTML文档中的每个元素都被比喻成矩形盒子, 盒子模型通过四个边界来描述:margin(外边距),border(边框),padding(内填充),content(内容区域),如 ...
- 【Linux】一步一步学Linux——Unix发展史(02)
目录 00. 目录 01. 请参考Unix传奇 02. 03. 00. 目录 @ 本博客后面会更新 01. 请参考Unix传奇 链接: https://coolshell.cn/articles/23 ...
- go 数据渲染到终端 01
package main import ( "fmt" "text/template" "os" ) type Person struct ...