算法导论 练习题 10.2-8

来源:互联网 发布:2016最近网络最火的dj 编辑:程序博客网 时间:2024/05/16 16:18

这题很无聊……

根据异或的性质:如果np = pre XOR next 则 pre = np XOR next,next = np XOR pre (大家可以随便用两个数字例子计算一下)

所以链表只要维护两个端点指针:head和tail,则每个节点地址都可以依顺序计算出来。

比如设第二个元素名称为e2,地址为addr2,addr2=head.np XOR 0 = head.np

第三个元素e3,地址是addr3,addr3=e2.np XOR &head

等等等等


记得,还可以从tail开始遍历,因为tail.np XOR 0就是tail.pre

所以,实现该表逆转,只要把head和tail交换一下就行了……

0 0
原创粉丝点击