map的用法

依然是一点简简单单的代码,拷贝下去运行一下,应该就知道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"));
}

 

posted @ 2009-06-10 11:11  zhengzongzhao  阅读(317)  评论(0编辑  收藏  举报