栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++ --STL之vector容器

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++ --STL之vector容器

STL之vector容器初识

文章目录

STL之vector容器初识一、vector容器存放内置数据类型二、vector容器存放自定义数据类型三、vector容器嵌套容器

一、vector容器存放内置数据类型
//vector容器存放内置数据类型
#include 
using namespace std;
#include 			//vector容器
#include 		//算法
void printInt(int);
void test()
{
	//创建一个vector容器v
	vector v;
	//向vector中插入数据
	v.push_back(10);
	v.push_back(20);
	v.push_back(30);
	//遍历vector容器内的元素
	//1.  while循环遍历
	vector::iterator itbegin = v.begin();			//指向vector容器的首元素
	vector::iterator itend = v.end();				//指向vector容器尾元素的下一个位置
	while (itbegin != itend)
	{
		cout << *itbegin << endl;
		itbegin++;
	}
	//2.  for循环遍历
	for (vector::iterator it = v.begin(); it != v.end(); it++)
	{
		cout << *it << endl;
	}
	//3.使用STL提供的for_each算法
	for_each(v.begin(), v.end(), printInt);			//使用STL提供的for_each算法
}
void printInt(int val)
{
	cout << val << endl;
}
int main()
{
	test();
	return 0;
}

二、vector容器存放自定义数据类型
//vector容器存放自定义数据类型
#include 
class Person
{
public:
	string name;
	int age;
	Person(string name, int age)
	{
		this->name = name;
		this->age = age;
	}
};
void test()
{
	vector v;
	Person p1("寒冰射手", 22);
	Person p2("暗夜猎手", 20);
	Person p3("韩金轮", 33);
	v.push_back(p1);
	v.push_back(p2);
	v.push_back(p3);
	for (vector::iterator it = v.begin(); it != v.end(); it++)
	{
		cout << it->name << " " << it->age << endl;
		//cout << (*it).name << " " << (*it).age << endl;
	}
}
int main()
{
	test();
	return 0;
}
三、vector容器嵌套容器

类似于一个二维数组

//vector容器嵌套容器
#include 
void test()
{
	vector> vd;
	vector v1;
	vector v2;
	vector v3;
	for (int i = 0; i < 4; i++)
	{
		v1.push_back(i + 1);
		v2.push_back(i + 2);
		v3.push_back(i + 3);
	}
	vd.push_back(v1);
	vd.push_back(v2);
	vd.push_back(v3);
	//遍历二维vector
	for (vector>::iterator it = vd.begin(); it != vd.end(); it++)
	{
		//*it是内部的vector
		for (vector::iterator vit = (*it).begin(); vit != (*it).end(); vit++)
		{
			cout << *(vit) << " ";
		}
		cout << endl;
	}
}
int main()
{
	test();
	return 0;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/779183.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号