跳到主要内容

单链表中,已知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