File tree 2 files changed +124
-0
lines changed
2 files changed +124
-0
lines changed Original file line number Diff line number Diff line change
1
+ class Node :
2
+ def __init__ (self , data ):
3
+ self .data = data
4
+ self .next = None
5
+
6
+ class LinkedList :
7
+ def __init__ (self ):
8
+ self .head = None
9
+
10
+ def DeleteNode (self , value ):
11
+ if self .head == None :
12
+ print ('Empty List' )
13
+ else :
14
+ prev = None
15
+ curr = self .head
16
+ while (curr ):
17
+ if curr .data == value :
18
+ if prev :
19
+ prev .next = curr .next
20
+ else :
21
+ self .head = curr .next
22
+ return True
23
+ prev = curr
24
+ curr = curr .next
25
+ return False
26
+
27
+
28
+
29
+ def push (self , new_node ):
30
+ if not self .head :
31
+ self .head = new_node
32
+ else :
33
+ current = self .head
34
+ while (current .next ):
35
+ current = current .next
36
+ current .next = new_node
37
+ new_node .next = None
38
+
39
+
40
+
41
+ def printlist (self ):
42
+ curr = self .head
43
+ while (curr ):
44
+ print (curr .data )
45
+ curr = curr .next
46
+
47
+ # driver code
48
+ llist = LinkedList ()
49
+ newval = Node (2 )
50
+ llist .push (newval )
51
+ newval = Node (6 )
52
+ llist .push (newval )
53
+ newval = Node (1 )
54
+ llist .push (newval )
55
+ newval = Node (5 )
56
+ llist .push (newval )
57
+ print ("Created Linked List" )
58
+ llist .printlist ()
59
+ if (llist .DeleteNode (1 )):
60
+ print ('Deleted' )
61
+ else :
62
+ print ("Node not found" )
63
+ llist .printlist ()
64
+ if (llist .DeleteNode (9 )):
65
+ print ('Deleted' )
66
+ else :
67
+ print ("Node not found" )
68
+ llist .printlist ()
Original file line number Diff line number Diff line change
1
+ class Node :
2
+ def __init__ (self , data ):
3
+ self .val = data
4
+ self .next = None
5
+
6
+ class LinkedList :
7
+ def __init__ (self ):
8
+ self .head = None
9
+
10
+ def sortedInsert (self , new_node ):
11
+ if not self .head :
12
+ new_node .next = self .head
13
+ self .head = new_node
14
+
15
+ elif new_node .val <= self .head .val :
16
+ new_node .next = self .head
17
+ self .head = new_node
18
+
19
+ else :
20
+ current = self .head
21
+ while (current .next is not None and current .next .val < new_node .val ):
22
+ current = current .next
23
+ new_node .next = current .next
24
+ current .next = new_node
25
+
26
+ def push (self , data ):
27
+ new_node = Node (data )
28
+ new_node .next = self .head
29
+ self .head = new_node
30
+
31
+ def printList (self ):
32
+ temp = self .head
33
+ while (temp ):
34
+ print (temp .val )
35
+ temp = temp .next
36
+
37
+ # driver code
38
+ llist = LinkedList ()
39
+ new_node = Node (5 )
40
+ llist .sortedInsert (new_node )
41
+ new_node = Node (10 )
42
+ llist .sortedInsert (new_node )
43
+ new_node = Node (7 )
44
+ llist .sortedInsert (new_node )
45
+ new_node = Node (3 )
46
+ llist .sortedInsert (new_node )
47
+ new_node = Node (1 )
48
+ llist .sortedInsert (new_node )
49
+ new_node = Node (9 )
50
+ llist .sortedInsert (new_node )
51
+ print ("Create Linked List" )
52
+ llist .printList ()
53
+ new_node = Node (4 )
54
+ llist .sortedInsert (new_node )
55
+ print ("Updated" )
56
+ llist .printList ()
You can’t perform that action at this time.
0 commit comments