#include<iostream>
using namespace std;
#include<vector>
//vetor容器存放内置数据类型
void test01()
{
//创建了一个vector容器,数组
vector<int> v;
//向容器中插入数据
v.push_back (10);//尾插
v.push_back (20);
v.push_back (30);
v.push_back (40);
//通过迭代器访问容器中的数据
//iterator 迭代器名称
//v.begin 起始迭代器 指向容器中的第一个元素
vector<int>::iterator itBegin = v.begin();
vector<int>::iterator itEnd = v.end();
//v.end 结束迭代器 指向容器中最后一个元素的下一个位置
//访问容器中的数据
//第一种遍历方式
while(itBegin != itEnd) {
cout<<*itBegin<<endl;
itBegin++;
}
}
int main(){
test01();
system("pause");
}
#include<iostream>
using namespace std;
#include<vector>
//vetor容器存放内置数据类型
void test01()
{
//创建了一个vector容器,数组
vector<int> v;
//向容器中插入数据
v.push_back (10);//尾插
v.push_back (20);
v.push_back (30);
v.push_back (40);
//第二种遍历方式
for(vector<int>::iterator it = v.begin();it!=v.end();it++)
{
cout<<*it<<endl;
}
}
int main(){
test01();
system("pause");
}
#include<iostream>
using namespace std;
#include<vector>
#include<algorithm> //标准算法头文件
//vetor容器存放内置数据类型
void myPrint(int val)
{
cout<<val<<endl;
}
void test01()
{
//创建了一个vector容器,数组
vector<int> v;
//向容器中插入数据
v.push_back (10);//尾插
v.push_back (20);
v.push_back (30);
v.push_back (40);
//第三种遍历方式 利用STL提供的遍历算法
for_each(v.begin(),v.end(),myPrint);
}
int main(){
test01();
system("pause");
}
运行结果:
#include<iostream>
using namespace std;
#include<vector>
#include<string>
//vector容器中存放自定义数据类型
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容器,数组
vector<Person> v;
Person p1("aaa",10);
Person p2("bbb",20);
Person p3("ccc",30);
Person p4("ddd",40);
Person p5("eee",50);
//向容器中添加数据
v.push_back(p1);
v.push_back(p2);
v.push_back(p3);
v.push_back(p4);
v.push_back(p5);
//遍历容器中的数据
for(vector<Person>::iterator it = v.begin();it!=v.end();it++)
{
//cout<<"姓名"<<(*it).m_Name<<"年龄" <<(*it).m_Age<<endl;
cout<<"姓名"<<it->m_Name<<"年龄" <<it->m_Age<<endl;
}
}
int main(){
test01();
system("pause");
}
存放自定义数据类型的指针 :
#include<iostream>
using namespace std;
#include<vector>
#include<string>
//vector容器中存放自定义数据类型
class Person{
public:
Person(string name,int age)
{
this->m_Name = name;
this->m_Age = age;
}
string m_Name;
int m_Age;
};
//存放自定义数据类型的指针
void test02()
{
//创建了一个vector容器,数组
vector<Person*> v;
Person p1("aaa",10);
Person p2("bbb",20);
Person p3("ccc",30);
Person p4("ddd",40);
Person p5("eee",50);
//向容器中添加数据
v.push_back(&p1);
v.push_back(&p2);
v.push_back(&p3);
v.push_back(&p4);
v.push_back(&p5);
//遍历容器中的数据
for(vector<Person*>::iterator it = v.begin();it!=v.end();it++)
{
cout<<"姓名"<<(*it)->m_Name<<"年龄" <<(*it)->m_Age<<endl;
}
}
int main(){
test02();
system("pause");
}
运行结果: