예제 #1
0
def test_delete():
    list = LinkedNode(10)
    list += 20
    list += 30
    list += 40
    list = delete_item(list, 30)
    assert print_list(list) == '10, 20, 40'

    list = delete_item(list, 10)
    assert print_list(list) == '20, 40'

    list = delete_item(list, 50)
    assert print_list(list) == '20, 40'

    list = delete_item(list, 40)
    assert print_list(list) == '20'

    list = delete_item(list, 20)
    assert type(list) == NoneType
예제 #2
0
def remove_duplicates(target_list):
    """
    Function that removes duplicates from a linked list
    """
    current_node = target_list
    while current_node:
        runner = current_node
        while runner.next_node:
            if runner.next_node.key == current_node.key:
                runner.next_node = linkednode.delete_item(
                    runner.next_node, current_node.key)
            else:
                runner = runner.next_node
        current_node = current_node.next_node
    return target_list
예제 #3
0
def remove_duplicates(target_list):
    """
    Function that removes duplicates from a linked list
    """
    current_node = target_list
    while current_node:
        runner = current_node
        while runner.next_node:
            if runner.next_node.key == current_node.key:
                runner.next_node = linkednode.delete_item(runner.next_node,
                                                          current_node.key)
            else:
                runner = runner.next_node
        current_node = current_node.next_node
    return target_list