1
mason961125 2019-12-01 23:47:50 +08:00
自己作业自己做。
|
2
kirara OP @mason961125 不会
|
3
Kbyte 2019-12-02 00:03:41 +08:00
A->B->C->D->E,交换 B 和 D,就把 A 的后节点换成 D,D 的后节点换成 C,C 的后节点换成 B,B 的后节点换成 E
|
4
registerrr 2019-12-02 00:08:03 +08:00 via Android
把指向 a 节点的指针指向 b 节点,然后把 a 指针指向的节点换成 b 指针指向的节点,
同样的把指向 b 节点的指针指向 a 节点,然后把 b 指针指向的节点换成原来 a 指针指向的节点啊 |
5
registerrr 2019-12-02 00:11:36 +08:00 via Android
@registerrr 说白了就是修改节点本身的指向和其前一个节点的指向。如果是双向链表的话,该节点前后节点的指向和其本身的指向都要考虑。
|
6
Trim21 2019-12-02 00:11:57 +08:00 via Android
你总会删除节点和插入节点吧
你先把两个节点从链表上删除,然后分别在之前的节点位置上插入另一个节点 |
7
winterbells 2019-12-02 00:16:30 +08:00 via Android
修改节点指向
翻翻数据结构那本书 |
8
pocarisweat 2019-12-02 00:18:43 +08:00
你画个图,就明白了。还不明白的话,那就是对指针这个概念理解有模糊。
|
9
canyue7897 2019-12-02 06:57:58 +08:00
这个在链表里面的任何一本教材上面都会有.同楼上的,就是指向下一个的断开,然后指向需要插入的。。。其实链表需要处理的就是第一个,中间的任意一个和最后一个。
|
11
HarryHook 2019-12-02 11:25:30 +08:00
找到要交换的结点的 pre 结点, 然后 swap
|
12
zivyou 2019-12-02 13:47:53 +08:00
单链表的所有问题,在表头再加一个自己的头就会好解很多,你再试一下
|