单链表中,已知q所指结点是p所指结点的前驱结点,若在q和p之间插入s结点的代码?
参考答案:
在单链表中插入一个新的结点通常涉及更新结点的next指针。假设我们有一个结点s,我们想要将它插入到p和q之间,那么q应该是p的前驱结点。这里假设链表结点有一个next指针,用于指向下一个结点。
下面是在q和p之间插入s结点的伪代码:
// 首先,将s的next指针指向p
s.next = p
// 然后,将q的next指针指向s
q.next = s
这样,s就被插入到了q和p之间。
如果你需要具体的代码,例如在Python中,你可能会这样写:
class ListNode:
def __init__(self, value=0, next=None):
self.value = value
self.next = next
def insert_between(q, p, s):
# 将s的next指针指向p
s.next = p
# 将q的next指针指向s
q.next = s
然后,你可以这样使用这个函数:
# 创建一些结点
q = ListNode(2)
p = ListNode(3)
s = ListNode(4)
# 在q和p之间插入s
insert_between(q, p, s)
现在,链表的结构将会是:q -> s -> p
。