使用前要先載入
#include............
====================
特性
vector m_vec;
list m_lst; //去掉重複.排序
stack m_stk; //filo: first in last out
queue m_que; //fifo: first in first out
set m_set;
map m_map; //去掉重複.排序
====================
vector的用法:
正走訪:
for(vector::iterator p=m_vec.begin();p!=m_vec.end();p++)
{string& str=*p;}
逆走訪並取用
for(vector::reverse_iterator p=m_vec.rbegin();p!=m_vec.rend();p++)
{string& str=*p;}
前後中取用:
m_vec.front(); m_vec.back(); m_vec.at(index); m_vec[index];
前後中新增:
m_vec.insert(m_vec.begin(),data); m_vec.push_back(data); m_vec.insert(p,data);
m_vec.insert(&m_vec[index],data);
前後中移除
m_vec.erase(m_vec.begin()); m_vec.erase_back(); m_vec.erase(p);
元素個數 清除全部 尋找元素
m_vec.size(); m_vec.clear(); p=find(m_vec.begin(),m_vec.end(),data);
====================
list的用法:
正走訪並取用
for(list::iterator p=m_lst.begin();p!=m_lst.end();p++)
{string& str=*p;}
逆走訪並取用
for(list::reverse_iterator p=m_lst.rbegin();p!=m_lst.rend();p++)
{string& str=*p;}
前後取用
m_lst.front(); m_lst.back();
前後中新增
m_lst.push_front(data); m_lst.push_back(data); m_lst.insert(p,data);
前後中移除
m_lst.pop_front(); m_lst.pop_back(); m_lst.erase(p);
元素個數 清除全部 尋找元素
m_lst.size(); m_lst.clear(); p=find(m_lst.begin(),m_lst.end(),data);
====================
stack的用法:
正走訪並取用
for(stack::container_type::iterator p=m_stk.c.begin();p!=m_stk.c.end();p++)
{string& str=*p;}
逆走訪並取用
for(stack::container_type::reverse_iterator p=m_stk.c.rbegin();p!=m_stk.c.rend();p++)
{string& str=*p;}
新增取用移除
m_stk.push(data); m_stk.top(); m_stk.pop();
前後中取用
m_stk.c.front(); m_stk.c.back(); m_stk.c.at(index);
前後中新增
m_stk.c.push_front(data); m_stk.c.push_back(data); m_stk.c.insert(p,data);
後中移除前
m_stk.c.pop_front(); m_stk.c.pop_back(); m_stk.c.erase(p);
元素個數 清除全部 尋找元素
m_stk.size(); m_stk.c.clear(); p=find(m_stk.c.begin(),m_stk.c.end(),data);
====================
queue的用法:
正走訪並取用
for(queue::container_type::iterator p=m_que.c.begin();p!=m_que.c.end();p++)
{string& str=*p;}
逆走訪並取用
for(queue::container_type::reverse_iteratorp=m_que.c.rbegin();p!=m_que.c.rend();p++)
{string& str=*p;}
新增取用移除
m_que.push(data); m_que.front(); m_que.back(); m_que.pop();
前後中取用
m_que.c.front(); m_que.c.back(); m_que.c.at(index);
前後中新增
m_que.c.push_front(data); m_que.c.push_back(data); m_que.c.insert(p,data);
前後中移除
m_que.c.pop_front(); m_que.c.pop_back(); m_que.c.erase(p);
元素個數 清除全部 尋找元素
m_que.size(); m_que.c.clear(); p=find(m_que.c.begin(),m_que.c.end(),data);
====================
set的用法:
正走訪並取用
for(set::iterator p=m_set.begin();p!=m_set.end();p++)
{string& str=*p;}
逆走訪並取用
for(set::reverse_iterator p=m_set.rbegin();p!=m_set.rend();p++)
{string& str=*p;}
新增取用移除
m_set.insert(data); m_set.erase(data);
前後取用
*m_set.begin(); *m_set.rbegin();
前後中新增
m_set.insert(data);
前後中移除
m_set.erase(m_set.begin()) ;m_set.erase(p);
元素個數 清除全部 尋找元素
m_set.size(); m_set.clear(); p=m_set.find(data); 沒找到: p==m_set.end();
====================
map的用法:
正走訪並取用
for(map::iterator p=m_map.begin();p!=m_map.end();p++)
{const string& str=(*p).first; int& value=(*p).second;}
逆走訪並取用
for(map::reverse_iterator p=m_map.rbegin();p!=m_map.rend();p++)
{const string& str=(*p).first; int& value=(*p).second;}
新增 取用 移除
m_map[data]=value; m_map[data]; m_map.erase(data);
取用 元素個數 清除全部
(*p).first; (*p).second; m_map.size(); m_map.clear();
尋找元素 尋找元素
p=m_map.find(data); m_map[data];