vector ,set ,和map 属于c++ 的三种容器;遍历三种容器的重要方式是创建iterator ,迭代器在这里扮演了类似指针的角色,用迭代器来指向要访问的索引的值。

1: map  类似于python里面的字典。

#include <map>  
  
#include <string>  
  
#include <iostream>  
  
using namespace std;  
int main()  
  
{  
  
    map<int, string> mapStudent;  
  
    mapStudent.insert(pair<int, string>(1, "student_one"));  
  
    mapStudent.insert(pair<int, string>(2, "student_two"));  
  
    mapStudent.insert(pair<int, string>(3, "student_three"));  

    map<int,string>::iterator iter;//please attention the name of  map,not name mapstudent 
    for(iter = mapStudent.begin();iter!=mapStudent.end();iter++)
       cout<<iter->first<<' '<<iter->second<<endl;
    
}  

2:set 里面不能容纳相同的元素

#include <set>
#include <iostream>
using namespace std;
int main() {
	set<int> iset;
	iset.insert(1);
	iset.insert(2);
	iset.insert(3);
	iset.insert(3);
	for (set<int>::iterator iter = iset.begin(); iter != iset.end(); ++iter)
		cout << *iter << endl;
	system("pause");
}

3:vector :

#include <iostream>  
#include <string> 
#include <vector> 
#include <algorithm>
using namespace std;
int main(){
  
    vector<vector<int> >res={{-1, 0, 1},{2, -1, -4}};
    int count = res.size();
    cout<<count<<endl;
    
    for(int i=0;i<count;i++){
        int  sun_len=res[i].size();
        for(int j=0;j<sun_len;j++)
            cout<<res[i][j];
        cout<<endl;

    }

    return 0;
}
#include <vector>
#include <iostream>
using namespace std; 
int main() {
    vector<int> ivec;
    ivec.push_back(1);
    ivec.push_back(2);
    ivec.push_back(3);
    ivec.push_back(4);
    for(vector<int>::iterator iter = ivec.begin();iter != ivec.end(); ++iter)
        cout << *iter << endl;
}

引用:https://blog.csdn.net/leviopku/article/details/82804227

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐