Robert Sedwick的算法,在下面的链接中提到了链表可以使用数组来表示
http://flylib.com/books/en/3.55.1.34/1/
图3.8,如果从我的理解中删除了5,则在删除Val5时,下一个4应更改为索引6,因为我们在第4项中删除了第4项的数字,然后更改了Val3。我没有理解这个数字的逻辑。有人能帮帮我吗?
谢谢!
发布于 2010-11-28 18:19:44
索引是从零开始的,而不是值本身(字母会是更好的值)。
删除值5示例:删除前,值为4的节点的下一个索引为4,指向值5;删除后,下一个索引变为5,指向值6 (下一个由4变为5)。
或者,使用前缀v表示值:
之前的
index ... 3 4 5 ...
----------------------
value v4 v5 v6
next 4 5 6之后的
index ... 3 4 5 ...
----------------------
value v4 v5 v6
next 5 5 6 如您所见,节点v4后面紧跟着v6 (索引5),实际上从链中删除了v5。
https://stackoverflow.com/questions/4296180
复制相似问题