Beispiel #1
0
        cur2 = cur2.next
    else:
        head = head1
        cur = cur1
        cur1 = cur1.next
    while cur1 is not None and cur2 is not None:
        if cur1.data < cur2.data:
            cur.next = cur1
            cur = cur1
            cur1 = cur1.next
        else:
            cur.next = cur2
            cur = cur2
            cur2 = cur2.next
    if cur1 is not None:
        cur.next = cur1
    if cur2 is not None:
        cur.next = cur2
    return head


if __name__ == '__main__':
    head1 = constract_link(1)
    head2 = constract_link(2)
    print("链表1:")
    print_link(head1)
    print("\n 链表2:")
    print_link(head2)
    print("\n 合并后链表")
    head = merge(head1, head2)
    print_link(head)
Beispiel #2
0
        tmp = LNode()
        tmp.data = i + 2
        tmp.next = None
        cur.next = tmp
        cur = tmp
        i += 1

    # 构造第一个
    i = 9
    cur = head2
    while i > 4:
        tmp = LNode()
        tmp.data = i
        tmp.next = None
        cur.next = tmp
        cur = tmp
        i -= 1

    print("\n link1:", end='')
    print_link(head1)

    print("\n link2:", end='')
    print_link(head2)

    add_result = add(head1, head2)
    print("\n after add:", end='')

    print_link(add_result)


def remove_node(p):
    if p.next is None or p is None:
        return False
    p.data = p.next.data
    p.next = p.next.next
    return True


if __name__ == '__main__':
    i = 1
    head = LNode()
    head.next = None
    tmp = None
    cur = head
    p = None
    while i < 8:
        tmp = LNode()
        tmp.data = i
        tmp.next = None
        cur.next = tmp
        cur = tmp
        if i == 5:
            p = tmp
        i += 1
    print_link(head)
    result = remove_node(p)
    if result:
        print("删除后:")
        print_link(head)