Python/data_structures/LinkedList/singly_LinkedList.py

62 lines
2.0 KiB
Python
Raw Normal View History

class Node:#create a Node
def __int__(self,data):
self.data=data#given data
self.next=None#given next to None
class Linked_List:
pass
def insert_tail(Head,data):#insert the data at tail
tamp=Head#create a tamp as a head
if(tamp==None):#if linkedlist is empty
newNod=Node()#create newNode Node type and given data and next
newNod.data=data
newNod.next=None
Head=newNod
else:
while tamp.next!=None:#find the last Node
tamp=tamp.next
newNod = Node()#create a new node
newNod.data = data
newNod.next = None
tamp.next=newNod#put the newnode into last node
return Head#return first node of linked list
def insert_head(Head,data):
tamp = Head
if (tamp == None):
newNod = Node()#create a new Node
newNod.data = data
newNod.next = None
Head = newNod#make new node to Head
else:
newNod = Node()
newNod.data = data
newNod.next = Head#put the Head at NewNode Next
Head=newNod#make a NewNode to Head
return Head
def Print(Head):#print every node data
tamp=Node()
tamp=Head
while tamp!=None:
print(tamp.data)
tamp=tamp.next
def delete_head(Head):#delete from head
if Head!=None:
Head=Head.next
return Head#return new Head
def delete_tail(Head):#delete from tail
if Head!=None:
tamp = Node()
tamp = Head
while (tamp.next).next!= None:#find the 2nd last element
tamp = tamp.next
tamp.next=None#delete the last element by give next None to 2nd last Element
return Head
def isEmpty(Head):
if(Head==None):#check Head is None or Not
return True#return Ture if list is empty
else:
return False#check False if it's not empty