C++之数据类型,容器

容器类型:

  vector  //其实就是常规数组(适合随机访问元素,但在头部和尾部插入元素开销大)

  list    //适合在头部和尾部插入元素,但随机访问元素开销大,必须遍历所有,比如list<string> abc(3,"a");abc[0]就不行,vector就可以(详见c++primer 9.5容器的选用)

  map

vector:

  定义和常规使用

vector<int> box(2,5);          //定义大小为2,内容为5的vector
for (int i = 0; i < box.size(); i++)
{
    cout<<box[i]<<endl;         //output: 5 5
}

  定义和迭代器使用

 

vector<int> box(2,5);
for(vector<int>::iterator iter=box.begin() ; iter!=box.end() ; ++iter)  //定义迭代器iter并赋初始值为box.begin,每次判断是否指向最后一个数
{
*iter = 1;              
  
  cout<<*iter<<endl;          
//output : 1 1
}

关于vector、list容器的更多操作详见c++primer 第九章

map:

map<int,string> m;    //定义
    m[0] = "000";
    m[1] = "111";
    m[2] = "222";
    map<int,string>::iterator map_iter = m.begin();
    while(map_iter != m.end()){
        cout<<map_iter->first<<" "<<map_iter->second<<endl;    //分别输出key和value
        map_iter++;
    }
原文地址:https://www.cnblogs.com/alazalazalaz/p/4087558.html