class documentation
class LinkedList(collections.abc.Iterable):
Doubly linked list
Method | __init__ |
Undocumented |
Method | __iter__ |
Undocumented |
Method | __len__ |
Undocumented |
Method | append |
Insert to the end of list |
Method | delete |
Delete node |
Method | insert |
Insert after a node |
Method | insert |
Insert before a node |
Method | prepend |
Insert to the beginning of list |
Property | first |
Get the first node of the list |
Instance Variable | _first |
Undocumented |
Instance Variable | _last |
Undocumented |
Insert to the end of list
>>> list = LinkedList() >>> node = list.append('foo') >>> len(list) 1 >>> node = list.append('bar') >>> [str(data) for data in list] ['foo', 'bar']
Delete node
>>> list = LinkedList() >>> node1 = list.prepend('foo') >>> node2 = list.insert_after(node1, 'bar') >>> node3 = list.insert_before(node2, 'baz') >>> [str(data) for data in list] ['foo', 'baz', 'bar'] >>> str(list.delete(node3)) 'foo' >>> [str(data) for data in list] ['foo', 'bar'] >>> print("%s" % node3) <BLANKLINE> >>> str(list.delete(node1)) 'bar' >>> [str(data) for data in list] ['bar'] >>> list.delete(node2) >>> [str(data) for data in list] []
Insert after a node
>>> list = LinkedList() >>> node1 = list.prepend('foo') >>> node2 = list.insert_after(node1, 'bar') >>> node3 = list.insert_after(node1, 'baz') >>> [str(data) for data in list] ['foo', 'baz', 'bar']
Insert before a node
>>> list = LinkedList() >>> node1 = list.append('foo') >>> node2 = list.insert_before(node1, 'bar') >>> node3 = list.insert_before(node1, 'baz') >>> [str(data) for data in list] ['bar', 'baz', 'foo']