依然是一点简简单单的代码,拷贝下去运行一下,应该就知道map怎么用了,不想解释map到底是什么,有什么伟大的意义……
//------------------------------------------------------------------------------
// Copyright (C), 2008-2009, Zhengzz Co.,Ltd,All Rights Reserved
//
// FileName: Vector.cpp
//
// Author: zhengzz
//
// Date: 2009-06-10
//
// Description: map的用法
//
// History: <author>zhengzongzhao<time>2009-06-10<version>1.0
//
//------------------------------------------------------------------------------
#include <string>
#include <map>
using namespace std;
typedef std::map<int , char *> DataMap;
typedef pair<int, char*> prNode;
void InitMap(DataMap *dmWord);
int main()
{
DataMap dmWord;
int nIndex;
DataMap::iterator iter;
nIndex = 0;
InitMap(&dmWord);
dmWord[6] = "ddd";
dmWord[7] = "eee";
printf("初始化之后MAP中的数据为:/n");
for ( iter = dmWord.begin(); iter != dmWord.end(); iter++ )
{
printf("%d--%s/n", iter->first, iter->second);
}
printf("/n请输入需要查询数据序号:");
scanf("%d", &nIndex);
printf("你所查询的数据是%s/n", dmWord[nIndex]);
printf("查询之后MAP中的数据为:/n");
for ( iter = dmWord.begin(); iter != dmWord.end(); iter++ )
{
printf("%d--%s/n", iter->first, iter->second);
}
printf("/n请输入需要删除数据序号:");
scanf("%d", &nIndex);
printf("你需要所删除的数据是%s/n", dmWord[nIndex]);
dmWord.erase(nIndex);
printf("删除之后MAP中的数据为:/n");
for ( iter = dmWord.begin(); iter != dmWord.end(); iter++ )
{
printf("%d--%s/n", iter->first, iter->second);
}
getchar();
getchar();
return 0;
}
void InitMap(DataMap *dmWord)
{
dmWord->insert(prNode(0, "praaa"));
dmWord->insert(prNode(1, "prbbb"));
dmWord->insert(prNode(2, "prccc"));
dmWord->insert(DataMap::value_type(3, "vtaaa"));
dmWord->insert(DataMap::value_type(4, "vtbbb"));
dmWord->insert(DataMap::value_type(5, "vtccc"));
}