您的位置:首页 > 其它

map容器简单应用

2011-05-17 23:49 555 查看
需要按照编号将一组数据排序显示,我一下子就想到了容器。以前曾经用过map,所以还是用map来实现吧。之前,完整地看完了《C++标准程序库》。并且也读过侯捷老师的《STL源码剖析》,对容器的特性和使用有了一点印象(我没有经常应用,不敢说非常熟悉^_^)。

网上有勤奋好学的前辈们总结的好文章(这儿
有一篇,是关于map的)。我自己手痒痒,写了一个小的DEMO。代码如下:

#pragma warning (disable:4786)
#include <afx.h>
#include <iostream>
#include <map>
using namespace std;
CString str[5][2] = {
{_T("1"), _T("page1")},
{_T("5"), _T("page5")},
{_T("2"), _T("page2")},
{_T("4"), _T("page4")},
{_T("3"), _T("page3")}};
void main()
{
map<int, CString> mapIndexPage;
int nIndex = 0;
CString strPage = _T("");
for (int i = 0; i < 5; i++)
{
nIndex = atoi(str[i][0]);
strPage = str[i][1];
mapIndexPage.insert(pair<int, CString>(nIndex, strPage));
}
map<int, CString>::iterator itIP = mapIndexPage.begin();
for (; itIP != mapIndexPage.end(); ++itIP)
{
cout << (*itIP).first << _T(" ") << (LPCTSTR)(*itIP).second << endl;
}
}


 

P.S.说起容器,还有一个容器vector也是我喜欢的(因为之前一直不知道还有CStringArray^_^,虽然它不属于标准容器)。有一些数据,你无法知道其个数,定义一个固定的数组,当然不可取了。最合适的方法是使用能够动态增长的容器(比如:vector)了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  vector iterator c