文章目录
- 🍔简述vector
- 🎄vector存放内置数据类型
- ⭐创建一个vector容器
- ⭐向容器里面插入数据
- ⭐通过迭代器访问容器里面的数据
- ⭐遍历
- 🎈第一种遍历方式
- 🎈第二种遍历方式
- 🎈第三种遍历方式
- 🎄vector存放自定义数据类型
- 🎄vector嵌套vector
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;
}
在技术的道路上,我们不断探索、不断前行,不断面对挑战、不断突破自我。科技的发展改变着世界,而我们作为技术人员,也在这个过程中书写着自己的篇章。让我们携手并进,共同努力,开创美好的未来!愿我们在科技的征途上不断奋进,创造出更加美好、更加智能的明天!