【C++篇】Vector容器 Vector嵌套容器
2023-12-22 17:11:40
文章目录
C++是一种通用的、静态类型的编程语言,融合了C语言的低层内存操作和C++的封装、继承、多态等面向对象特性。它由Bjarne Stroustrup于1983年在瑞典斯德哥尔摩创造,旨在提供一种更有效的系统编程语言。C++可以用于开发各种类型的应用程序,包括操作系统、编译器、数据库、游戏和图形用户界面应用程序。它被广泛用于企业、科学、工程和娱乐领域。C++的语法与C语言相似,但它提供了更多的安全性和抽象级别,使程序员能够编写出更清晰、更健壮的代码。C++拥有一个庞大而活跃的开发人员社区,提供了大量的库和工具,可以帮助开发者更有效地使用这门语言。
🍔简述vector
在C++ STL中,vector
是一个动态数组容器,它提供了一种能够在运行时自动调整大小的数组结构。vector
可以存储任意类型的元素,并且支持随机访问、插入、删除等操作。
🎄vector存放内置数据类型
使用vector容器需要引入头文件
#include<vector>
?创建一个vector容器
vector<int> v;
?向容器里面插入数据
v.push_back(10);
v.push_back(20);
v.push_back(30);
?通过迭代器访问容器里面的数据
vector<int>::iterator itBegin=v.begin();
起始迭代器,指向容器中的第一个元素
vector<int>::iterator itEnd=v.end();
结束迭代器,指向容器中最后一个元素的下一个位置
?遍历
🎈第一种遍历方式
while(itBegin!=itEnd)
{
cout<<*itBegin<<endl;
itBegin++;
}
相当于就是下图的情况
🎈第二种遍历方式
for (vector<int>::iterator it = v.begin(); it != v.end(); it++)
{
cout << *it << endl;
}
🎈第三种遍历方式
🎄vector存放自定义数据类型
#include<iostream>
#include<vector>
using namespace std;
class Person
{
public:
Person(string name,int age)
{
this->m_Name = name;
this->m_Age = age;
}
string m_Name;
int m_Age;
};
void test01()
{
vector<Person> v;
Person p1("aaa", 10);
Person p2("bbb", 20);
Person p3("ccc", 30);
v.push_back(p1);
v.push_back(p2);
v.push_back(p3);
for (vector<Person>::iterator it = v.begin(); it != v.end(); it++)
{
cout << "姓名" << (*it).m_Name << "年龄" << (*it).m_Age << endl;
}
cout << "-----------------------------" << endl;
for (vector<Person>::iterator it = v.begin(); it != v.end(); it++)
{
cout << "姓名" << it->m_Name << "年龄" << it->m_Age << endl;
}
}
int main() {
test01();
}
🎄vector嵌套vector
首先我们要创建一个嵌套容器
vector<vector<int>>v;
创建小容器
//创建小容器
vector<int>v1;
vector<int>v2;
vector<int>v3;
向小容器中插入数据
v1.push_back(1);
v2.push_back(2);
v3.push_back(3);
把小容器插入到大容器里面
v.push_back(v1);
v.push_back(v2);
v.push_back(v3);
通过大容器,把所有数据遍历一遍
for (vector<vector<int>>::iterator it = v.begin(); it != v.end(); it++)
{
for (vector<int>::iterator vit = (*it).begin(); vit != (*it).end(); vit++)
{
cout << *vit << " ";
}
cout << endl;
}
在技术的道路上,我们不断探索、不断前行,不断面对挑战、不断突破自我。科技的发展改变着世界,而我们作为技术人员,也在这个过程中书写着自己的篇章。让我们携手并进,共同努力,开创美好的未来!愿我们在科技的征途上不断奋进,创造出更加美好、更加智能的明天!
文章来源:https://blog.csdn.net/m0_72853403/article/details/135104952
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!