def test_delete(self): dll = DoubleLinkedList(array) item1 = 1 item2 = 4 item3 = 6 current = dll.head #delete first item if dll.head.data == item1: dll.head = dll.head.next dll.head.prev = None #delete last item if dll.tail.data == item3: dll.tail = dll.tail.prev dll.tail.next = None #delete item in the middle of dll while current is not None: if current.data == item2: current.prev.next = current.next current.next.prev = current.prev current = current.next assert dll.head.data == 2 assert dll.tail.data == 5 assert dll.head.next.next.data == 5 assert dll.tail.prev.data == 3
def chain(self, key, val, position): dl = DoubleLinkedList() dl.head = Node([self.key_store[position], self.hash_table[position]]) dl.add([key, val], len(dl.linked_gen()) + 1) self.hash_table[position] = dl