【发布时间】:2011-04-27 10:40:18
【问题描述】:
我有一个包含许多列表元素的双链表。所以我可以使用 item.next、item.prev 等等......(比如 item.next.prev.prev.next.prev 也可以) 我想交换两个项目,所以首先我需要存储项目 A 的下一个和上一个:
Item aprev = a.prev;
Item anext = a.next;
现在我想把 b 换成 a:
a.next = b.next;
a.prev = b.prev;
a.next.prev = a;
a.prev.next = a;
现在我需要将 a 换成 b,所以我使用以前保存的项目:
b.next = aprev;
b.prev = anext;
...
现在我遇到了问题! aprev 是 a.prev 现在是 b.prev!所以项目循环到他自己的......
我能做些什么来交换这些元素?我需要某种临时项目,但是当我覆盖它时指向对象的指针消失了怎么办?
【问题讨论】:
标签: java pointers object linked-list