链表-附加到特定的节点值?

时间:2019-05-19 21:40:13

标签: python linked-list

我正在尝试为链接列表类创建一个附加函数,该函数可以根据传递的值在特定节点上附加项。

到目前为止,这是我想出的:

def append(linked_l, value):
    if linked_l == None:
        return linked_list(value)

    new_node = linked_list(value)
    head = linked_l

    while linked_l.next != None:
        if linked_l.value <= value <= linked_l.next.value:
            new_node.next = linked_l.next
            linked_l.next = new_node
            break
        linked_l = linked_l.next

    return head

但是显然,这不能正常工作。

例如,如果我有sample = list_convert_ll([3, 5, 6, 8]),则append(sample, 2)必须能够将附加值(2)降序排列,在这种情况下,结果将是{ {1}}。

如果是2, 3, 5, 6, 8,然后是append(sample, 7)

我确实弄清楚了如何更改最终值,但是在如何处理这3种情况(值较低/较高或位于列表中间)时遇到了麻烦

3, 5, 6, 7, 8

仅在class linked_list: def __init__(self, val, next=None): self.val = val self.next = next def list_convert_ll(lis): if lis == []: return None head = end = linked_list(l[0]) for value in lis[1:]: end.next = linked_list(value) rear = rear .next return head 函数上,我不能修改或创建该类中的任何函数。

0 个答案:

没有答案