码迷,mamicode.com
首页 > 其他好文 > 详细

用单链表通过异或思想来实现双链表的功能

时间:2014-12-02 20:47:46      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:blog   http   ar   2014   art   log   ef   时间   tt   

参考大神博客:http://blog.csdn.net/aptx704610875/article/details/8028023

说明:主要的思想是通过异或的方式来实现的,基本的思想是通过时间来换空间的。

比如是两个数之间的交换,就是a,b

只要将

a=a+b;

b=a-b;

a=a-b;

然后就是异或,我们也可以将他们进行上述的异或操作,因为异或操作有一系列的性质是可用的。

一系列的性质,相当于加法,将结果保存在其中。

bubuko.com,布布扣

1、如果我们知道头地址,如第一个节点地址为1000,那么->next便可得1001,令1000^(1001->next)可得1002, 1001^(1002->next)可得1003,以此类推

2、如果我们知道末尾结点地址和倒数第二个结点地址,那么令1004^(1003->next)可得1002, 令1003^(1002->next)可得1001,以此类推

用单链表通过异或思想来实现双链表的功能

标签:blog   http   ar   2014   art   log   ef   时间   tt   

原文地址:http://www.cnblogs.com/tianxia2s/p/4138269.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!