c++ map、vector、list

总体来说,使用map最简单。支持查找,获取下标不存在也不会出错

   map是使用rbtree结构, vector是用连续获取内存的方法,类似hash结构、list是链表结构, 不支持下标。

   map:

       支持元素查找,提供find()查找。   可以直接进行遍历。可以像数组下标那样直接访问赋值。

   遍历方式:

                  for( paramIter=m_mapParamInfo.begin();   paramIter!=m_mapParamInfo.end();   paramIter++){}

  vector:

      不支持元素查找,没有提供类似find()函数。 连续访问快,在中间插入速度慢。  

       vector如果要直接下标赋值,只能先通过resize()或元素定义好才能使用,否则越界出现segment fault

  

 list

    不支持下标查找,只能遍历。 遍历慢,插入快

    遍历方式:

        list<string>::iterator groupIter;  //定义迭代器

   groupIter = m_lGroupInfo.begin();

while(groupIter!=m_lGroupInfo.end())
{

    sGroupName = prevGroup+"."+(*groupIter);

    groupIter++;

}

 

  

原文地址:https://www.cnblogs.com/hzijone/p/6109735.html