之前一篇博文(《初窺標准庫》)簡單了解了一種最常用的順序容器:vector類型。本文將對該文內容進行進一步的學習和完善,繼續討論標准庫提供的順序容器類型。所謂順序容器,即將單一類型的元素聚集起來成為容器,並根據位置來存儲和訪問這些元素。標准庫定義了三種順序容器類型:vector,list和deque(double-ended queue雙端隊列)。同時還提供了三種順序容器適配器(adaptor):stack,queue,priority_queue。
順序容器 vector 支持快速隨機訪存 list 支持快速插入/刪除 deque 雙端隊列 順序容器適配器 stack 後進先出棧 queue 先進先出隊列 priority_queue 有優先管理的隊列順序容器的定義及迭代器
1 vector< vector<string> > liens; //ok 2 vector < vector<string>> lines; //error:>>treated as shift operator
1 vector<int>::iterator mid = iv.begin() + iv.size()/2; 2 vecor<int>::iterator iter = iv.begin(); 3 while (iter != mid) 4 if (*iter == someVal) 5 iv.insert(iter, 2*someVal); 6 7 vector<int>::iterator iter = iv.begin(); 8 while (iter != iv.begin() + iv.size()/2) 9 { 10 if (*iter == someVal) 11 { 12 iter = iv.insert(iter, 2*someVal); 13 iter += 2; 14 } 15 else 16 ++iter; 17 }
順序容器的操作
vector容器的自增長
容器的選用