C++ STL map
map是关联映射,它的内部采用红黑树算法。默认对插入按key升序排列。
typedef map<_tstring, int>::iterator mapi;
typedef map<int, _tstring>::iterator umapi;
//! \brief 试验性代码入口
void MiscMain()
{
//map自动按照key升序排序,无法sort。
//插入时自动排序,这样只需要直接遍历即可将排名第1的输出。
map<int, _tstring> mps;
mps.insert(std::pair<int, _tstring>(4, _T("mino")));
mps.insert(std::pair<int, _tstring>(2, _T("张山")));
mps.insert(std::pair<int, _tstring>(1, _T("小毛")));
mps.insert(std::pair<int, _tstring>(89, _T("大毛")));
umapi i = mps.begin();
int di = 1;
while(i != mps.end())
{
_tcout<<i->first<<" "<<i->second<<std::endl;
i++;
}
_tcout<<di<<std::endl;
}
_tstring是重定义的,以方便UNICODE与MBCS的维护。
typedef std::basic_string< TCHAR, std::char_traits< TCHAR >, std::allocator< TCHAR > > _tstring;