C++ List的用法+遍历–学习总结
相关博客推荐:
list的遍历
下面提供两类list的遍历方法,一种是单纯list<>列表的遍历,另一种是l类似ist<list>这样的嵌套类型的list遍历
- list<>类型的遍历
#include<bits/stdc++.h> //万能头文件
#include<list>
using namespace std;
int main(){
list<int>row; //定义list
list<int>::iterator p1; //定义迭代器 用于遍历
cout<<"请输入数据个数:";
int n;
cin>>n;
//输入值
int j;
for(j=0;j<n;j++) {
int data;
cin>>data;
row.push_back(data); //push_back()从list的末端插入一个元素
}
//遍历值
cout<<"list:";
for(p1=row.begin();p1!=row.end();p1++){
cout<< *p1 <<" ";
}
}
运行结果:
请输入数据个数:5
1
2
3
4
5
list:1 2 3 4 5
- list<list<>>类型的遍历
#include<bits/stdc++.h>
#include<list>
using namespace std;
int main(){
list<list<int>>l1; //定义外层list
list<int>row; //定义内层list
list<int>::iterator p1; //定义迭代器 用于遍历内层元素
list<list<int>>::iterator p2; //定义迭代器 用于遍历外层元素
cout<<"请输入行数:";
int n; //行数
cin>>n;
//输入值
int i,j;
for(i=0;i<n;i++){
row.clear(); //清空list
cout<<"当前第"<<i+1<<"行,请输入该行数据"<<endl;
for(j=0;j<i+1;j++) {
int data;
cin>>data;
row.push_back(data); //push_back()从row的末端插入一个元素
}
l1.push_back(row); //push_back()从l1的末端插入一个元素
}
//遍历值
//外层迭代器 遍历list<list<int>> l1
for(p2=l1.begin();p2!=l1.end();p2++){
list<int> ls = *p2;
//内层迭代器 遍历list<int> row
for(p1=ls.begin();p1!=ls.end();p1++){
cout<< *p1 <<" ";
}
cout<<endl;
}
}
运行结果:
请输入行数:3
当前第1行,请输入该行数据
1
当前第2行,请输入该行数据
2
3
当前第3行,请输入该行数据
4
5
6
1
2 3
4 5 6