File tree Expand file tree Collapse file tree 1 file changed +57
-0
lines changed Expand file tree Collapse file tree 1 file changed +57
-0
lines changed Original file line number Diff line number Diff line change
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
+
You can’t perform that action at this time.
0 commit comments