C++ List的用法+遍历–学习总结

相关博客推荐:

list的遍历

下面提供两类list的遍历方法,一种是单纯list<>列表的遍历,另一种是l类似ist<list>这样的嵌套类型的list遍历

  1. 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

  1. 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

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐