Skip to content

Commit 088b28a

Browse files
committed
Linked List
1 parent 397ecaf commit 088b28a

File tree

1 file changed

+57
-0
lines changed

1 file changed

+57
-0
lines changed

linked list/LLSearchElement.py

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
class _Node:
2+
__slots__ = '_element', '_next'
3+
4+
def __init__(self, element, next):
5+
self._element = element
6+
self._next = next
7+
8+
class LinkedList:
9+
def __init__(self):
10+
self._head = None
11+
self._tail = None
12+
self._size = 0
13+
14+
def __len__(self):
15+
return self._size
16+
17+
def isempty(self):
18+
return self._size == 0
19+
20+
def addlast(self, e):
21+
newest = _Node(e, None)
22+
if self.isempty():
23+
self._head = newest
24+
else:
25+
self._tail._next = newest
26+
self._tail = newest
27+
self._size += 1
28+
29+
def display(self):
30+
p = self._head
31+
while p:
32+
print(p._element,end='-->')
33+
p = p._next
34+
print()
35+
36+
def search(self,key):
37+
p = self._head
38+
index = 0
39+
while p:
40+
if p._element == key:
41+
return index
42+
p = p._next
43+
index += 1
44+
return -1
45+
46+
L = LinkedList()
47+
L.addlast(7)
48+
L.addlast(4)
49+
L.addlast(12)
50+
L.addlast(8)
51+
L.addlast(3)
52+
L.display()
53+
i = L.search(8)
54+
print('Result:',i)
55+
index = L.search(20)
56+
print('Result:',i)
57+

0 commit comments

Comments
 (0)