1
+ // A pythom program for all operations performed on singly linked - list .
2
+ // Time - Complexity = O (n )
3
+ // Space - Complexity = O (n )
1
4
class Node :
2
- def __init__ (self , data = None , next = None ):
5
+ def __init__ (self , data = None , next = None ): // Creation of Node
3
6
self .data = data
4
7
self .next = next
5
8
6
9
class LinkedList :
7
10
def __init__ (self ):
8
- self .head = None
11
+ self .head = None // head points the first node
9
12
10
13
def print (self ):
11
14
if self .head is None :
12
15
print ("Linked list is empty" )
13
16
return
14
17
itr = self .head
15
- llstr = ''
18
+ llstr = '' // empty string
16
19
while itr :
17
20
llstr += str (itr .data )+ ' --> ' if itr .next else str (itr .data )
18
21
itr = itr .next
19
22
print (llstr )
20
23
21
- def length (self ):
24
+ def length (self ): // will calculate length of the linked list
22
25
count = 0
23
26
itr = self .head
24
27
while itr :
@@ -28,7 +31,7 @@ def length(self):
28
31
return count
29
32
30
33
def insert_at_begining (self , data ):
31
- node = Node (data , self .head )
34
+ node = Node (data , self .head ) // Creating a new node calling Node method
32
35
self .head = node
33
36
34
37
def insert_at_end (self , data ):
@@ -74,7 +77,7 @@ def remove_at(self, index):
74
77
itr = self .head
75
78
while itr :
76
79
if count == index - 1 :
77
- itr .next = itr .next .next
80
+ itr .next = itr .next .next // to delete the specified node
78
81
break
79
82
80
83
itr = itr .next
@@ -94,4 +97,4 @@ def insert_values(self, data_list):
94
97
node1 .print ()
95
98
node1 .insert_values ([45 ,7 ,12 ,567 ,99 ])
96
99
node1 .insert_at_end (67 )
97
- node1 .print ()
100
+ node1 .print ()
0 commit comments