mirror of
https://github.com/TheAlgorithms/Python.git
synced 2024-11-28 07:21:07 +00:00
321b1425e3
* Update __init__.py please add a function to get length of linked list * Update __init__.py * Update doubly_linked_list.py all size function lo doubly linked list class * prime number _better method * comments * Updated init.py 2 made it more pythonic * updated length function * commnet in linked_list construtor * Update data_structures/linked_list/__init__.py accepecting changes Co-authored-by: Christian Clauss <cclauss@me.com> * Update data_structures/linked_list/__init__.py Co-authored-by: Christian Clauss <cclauss@me.com> * Update __init__.py * Revert changes to doubly_linked_list.py * Revert changes to prime_check.py Co-authored-by: Christian Clauss <cclauss@me.com>
47 lines
998 B
Python
47 lines
998 B
Python
class Node:
|
|
def __init__(self, item, next):
|
|
self.item = item
|
|
self.next = next
|
|
|
|
|
|
class LinkedList:
|
|
def __init__(self):
|
|
self.head = None
|
|
self.size = 0
|
|
|
|
def add(self, item):
|
|
self.head = Node(item, self.head)
|
|
self.size += 1
|
|
|
|
def remove(self):
|
|
if self.is_empty():
|
|
return None
|
|
else:
|
|
item = self.head.item
|
|
self.head = self.head.next
|
|
self.size -= 1
|
|
return item
|
|
|
|
def is_empty(self):
|
|
return self.head is None
|
|
|
|
def __len__(self):
|
|
"""
|
|
>>> linked_list = LinkedList()
|
|
>>> len(linked_list)
|
|
0
|
|
>>> linked_list.add("a")
|
|
>>> len(linked_list)
|
|
1
|
|
>>> linked_list.add("b")
|
|
>>> len(linked_list)
|
|
2
|
|
>>> _ = linked_list.remove()
|
|
>>> len(linked_list)
|
|
1
|
|
>>> _ = linked_list.remove()
|
|
>>> len(linked_list)
|
|
0
|
|
"""
|
|
return self.size
|