欢迎您来到GIS动力

加入收藏 免费注册 用户登陆 帮助中心
首页 新闻动态 技术专栏 银杏树下 学习考研 软件下载 求职招聘 许愿瓶 节日祝福 用户中心 精彩推荐 资源搜索 地图
专栏导航: AO开发 | SO开发 | ArcGIS桌面 | 超图桌面 | 开发语言 | 数据库 | WebGIS | 银杏文学 | 研究生考题 | FreeMap FreeTalk
   您现在位于: 首页技术专栏开发语言 → 正文
使用二叉排序树构造Map
08-08-25 09:42:42 作者:埋埋 出处:http://www.cnblogs.com/whu-gy
在STL里有map,在MFC里有CMap,它们都是通过模板来构造这样一种结构,即可以将<key,value>键值对存储进来。对于键值对的存储会使用到某种数据结构,来达到快速存储与搜索的目的。

     本文中使用二叉排序树来构造类CC_Map,具有插入、删除、搜索节点等基本功能。定义节点类CMapItem,它也是一个模板类,其中可以存储<key,value>keyvalue的数据类型通过模板参数来定义。在CMapItem里重载了><==,=等基本操作符,用于节点大小的比较。如果keyvalue为用户自定义类型,例如CCustomCls,则只需要在CCustomCls里重新重载这几个操作符即可(如果CCustomCls是作为key的数据类型的话,因为程序中默认是对key进行比较)。

     由于是仓促之作,还很不完善,以后在使用中在进行修改吧,先存在这里,以作参考。更希望大家能够指出问题,帮助完善,共同学习。

 

CMapItem

 

#pragma once

 

template<class First,class Second>

class CC_MapItem

{

public:

     CC_MapItem(void)

     {

         m_pLeft = NULL;

         m_pRight = NULL;

     }

 

public:

     ~CC_MapItem(void)

     {

         m_pLeft = NULL;

         m_pRight = NULL;

     }

 

public:

     void MakePair(First first,Second second)

     {

         m_First = first;

         m_Second = second;

 

         m_pLeft = NULL;

         m_pRight = NULL;

     };

 

     //获取key

     First GetFirst()

     {

         return m_First;

     }

&nbs

9 7 3 1 2 3 4 5 6 7 8 9 10 4 8 :

(本文已被浏览 次)
发布人:admin
推荐给好友:发送给好友
上篇新闻:
下篇新闻:
相关评论
发表我的评论
  • 尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法;
  • 本站有权保留或删除您发表的任何评论内容;
  •   相关文章  
    为SharpMap增强测距功能
    SharpMap数据使用WCF传输
    ArcServer Silverlight Map Viewer
    Google Map的步行者路径规划开始测试
    使用程序获取或者新建一个arcmap
    Mapbar坐标的加密与解密算法
    利用SuperMap Deskpro进行北京 54到WGS-84的转换

    关于我们友情链接 ┋ 与我在线 ┋ 管理 ┋ TOP
     
    网站当前版本:GisPower CMS V3.0
    『GIS 动力』- http://www.gispower.org/
    联系我们:webmaster#gispower.org
    Copyright (c) 2003-2007 GisPOwer.Org. All Rights Reserved.
     

                   滇ICP备05006901号