单指针实现双向链表
介绍
普通双向链表的每个结点有三个域 ,分别存储着前一个结点的地址、后一个点的地址,以及数据
1 | |
异或链表通过异或操作(这里用⊕表示)把前一个结点的地址和后一个结点的地址变成一个地址
1 | |
当从左往右遍历的时候,如果当前结点是C,指针域是内容是B⊕D,通过和前一个结点B的地址做异或操作就能得到下一个结点D的地址,如此重复便能遍历整个链表。
Code
1 | |
普通双向链表的每个结点有三个域 ,分别存储着前一个结点的地址、后一个点的地址,以及数据
1 | |
异或链表通过异或操作(这里用⊕表示)把前一个结点的地址和后一个结点的地址变成一个地址
1 | |
当从左往右遍历的时候,如果当前结点是C,指针域是内容是B⊕D,通过和前一个结点B的地址做异或操作就能得到下一个结点D的地址,如此重复便能遍历整个链表。
1 | |
CMake构建时对gcc/g++传参
pip包全部更新