算法导论10.2-8C语言

本文介绍了一种仅使用单个指针实现双链表的方法。通过存储前后节点地址的异或值,可以在不知道前驱或后继节点的情况下获取另一个节点的地址,从而实现双向遍历。

  只用一个指针实现双链表.这道题,我按照我的思路写出来了.之前搜索了下,没有搜索到关于这道题的答案,于是一改以往作风,直接用题号作了标题,希望能被搜索到,呵呵.

  每个结点,只存储前后指针值的异或值.这样的话,只要知道前后任何一个结点的地址,就可以获得相反方向结点的地址,我用了一个全局变量来跟踪上一个结点的地址.这样,在执行完 Find_L () 之后,便可以实现向前或者向后的遍历,这样一来,是可以实现双向链表应有的功能的.

  这个的想法真的很好,以至于我不想错过他!确实,很受启发.如果有举一反三能力的话,依靠这个确实可以解决很多问题.XOR,很神奇啊.

  补充下啊...今天坐车我坐在了一个喜欢的女女的旁边.当时车上就一个空座.而且,如果我不是因为在车下面把烟抽完才上车的话,也不可能坐在她旁边,我一定会选择一个老爷们或者老太太的旁边坐下.呵呵.现在想想,呵呵...笑笑算了...为了理想,没办法.只能如此.

  好吧,贴出代码.


评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值