File tree Expand file tree Collapse file tree 2 files changed +124
-0
lines changed Expand file tree Collapse file tree 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