题目:删除带头结点的单链表L中的结点p,p不是最后一个结点,要求时间复杂度为O(1)。
解题思路:
如果不要求时间复杂度为O(1),我们可以找出p的前驱结点,然后很容易就删除p。
现在要求时间复杂度为O(1),因为p不是最后一个结点,知道结点p我们可以删除p的后继结点,那么我们可以把p的后继结点元素的值赋给p结点元素的值。
ADT定义如下
#define ElemType int...
分类:
其他好文 时间:
2015-01-13 17:47:09
阅读次数:
181
单链表删除结点操作:方法一.
从链表的第一个结点开始遍历,顺序遍历到需删除结点的前一个结点,然后调整指针指向 T(n) = O(n)方法二. 将 需删除结点i的下一个结点j(如果存在)
的值赋值给 需删除结点i,然后 删除结点j,这就相当于删除了结点i T(n) = O(1)需要注意以下几点:1. ...
分类:
其他好文 时间:
2014-06-09 15:05:28
阅读次数:
208