Chinaunix首页 | 论坛 | 博客

car

  • 博客访问: 1881845
  • 博文数量: 19327
  • 博客积分: 1314160
  • 博客等级: 大元帅
  • 技术积分: 181255
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-13 10:20
文章分类

全部博文(19327)

文章存档

2008年(19327)

我的朋友

分类:

2008-06-13 10:22:51

今天学到一种方法struct  node{address_t     m_prev,address_t     m_next,address_t     m_data};其中address_t其实就是一种地址,可以这样定义#define address_t unsigned long并且address_t也可以换成offset_t,表示针对某个位置的偏移。节点中保存的就是地址,使用节点的时候,其实就是获得这个节点指向的内存单元的值,然后根据自己想得到的类型,进行强制转换就可以了。比如说,一个节点,里面保存的地址指向的是long型,那么就是node* pNode = NULL;/*获取pNode*/...long lTmp = *(long *)(pNode->m_data);然而实际上的其实更加复杂。比如说,有可能节点中保存的不是地址,而是针对某个基地址的偏移,然而道理都是一样的。这样的话,设计树的人,只要考虑到树的实现算法,而不用据泥于树的节点里面到底要存什么。要存什么东西,由使用树的人根据自己的需要往里面存取即可。
阅读(125) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~