首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

哪位高手可以告诉小弟我一下,哈希表中,下面这个程序是什么意思

2013-09-09 
谁可以告诉我一下,哈希表中,下面这个程序是什么意思?#define HASH_ITER(hh,head,el,tmp)\for((el)(head),

谁可以告诉我一下,哈希表中,下面这个程序是什么意思?
#define HASH_ITER(hh,head,el,tmp)                                                \
for((el)=(head),(tmp)=DECLTYPE(el)((head)?(head)->hh.next:NULL);                 \
  el; (el)=(tmp),(tmp)=DECLTYPE(el)((tmp)?(tmp)->hh.next:NULL))
#endif


我能看出来,在删除结点,有没有人能详细描述一下,总觉得不清楚
[解决办法]

引用:
#define HASH_ITER(hh,head,el,tmp)                                                \
for((el)=(head),(tmp)=DECLTYPE(el)((head)?(head)->hh.next:NULL);                 \
  el; (el)=(tmp),(tmp)=DECLTYPE(el)((tmp)?(tmp)->hh.next:NULL))
#endif


我能看出来,在删除结点,有没有人能详细描述一下,总觉得不清楚

就是个for语句啊。
初始化:(el)=(head),(tmp)=DECLTYPE(el)((head)?(head)->hh.next:NULL)
条件判断: el 是否为空
控制语句:(el)=(tmp),(tmp)=DECLTYPE(el)((tmp)?(tmp)->hh.next:NULL)

热点排行