Merge pull request #243 from cclauss/patch-1

Fix unresolved name: insert_tail()
This commit is contained in:
Harshil 2018-01-22 07:12:36 +05:30 committed by GitHub
commit 00c13c29b9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,61 +1,63 @@
from __future__ import print_function from __future__ import print_function
class Node:#create a Node
def __int__(self,data):
self.data=data#given data class Node: # create a Node
self.next=None#given next to None def __int__(self, data):
self.data = data # given data
self.next = None # given next to None
class Linked_List: class Linked_List:
def insert_tail(Head, data):
pass if Head.next is None:
def insert_tail(Head,data):
if(Head.next is None):
Head.next = Node(data) Head.next = Node(data)
else: else:
insert_tail(Head.next, data) Head.next.insert_tail(data)
def insert_head(Head,data): def insert_head(Head, data):
tamp = Head tamp = Head
if (tamp == None): if tamp is None:
newNod = Node()#create a new Node newNod = Node() # create a new Node
newNod.data = data newNod.data = data
newNod.next = None newNod.next = None
Head = newNod#make new node to Head Head = newNod # make new node to Head
else: else:
newNod = Node() newNod = Node()
newNod.data = data newNod.data = data
newNod.next = Head#put the Head at NewNode Next newNod.next = Head # put the Head at NewNode Next
Head=newNod#make a NewNode to Head Head = newNod # make a NewNode to Head
return Head return Head
def printList(Head):#print every node data def printList(Head): # print every node data
tamp=Head tamp = Head
while tamp!=None: while tamp is not None:
print(tamp.data) print(tamp.data)
tamp=tamp.next tamp = tamp.next
def delete_head(Head):#delete from head def delete_head(Head): # delete from head
if Head!=None: if Head is not None:
Head=Head.next Head = Head.next
return Head#return new Head return Head # return new Head
def delete_tail(Head):#delete from tail def delete_tail(Head): # delete from tail
if Head!=None: if Head is not None:
tamp = Node() tamp = Node()
tamp = Head tamp = Head
while (tamp.next).next!= None:#find the 2nd last element while tamp.next.next is not None: # find the 2nd last element
tamp = tamp.next tamp = tamp.next
tamp.next=None#delete the last element by give next None to 2nd last Element # delete the last element by give next None to 2nd last Element
tamp.next = None
return Head return Head
def isEmpty(Head): def isEmpty(Head):
return Head is None #Return if Head is none return Head is None # Return if Head is none
def reverse(Head): def reverse(Head):
prev = None prev = None
current = Head current = Head
while(current): while current:
# Store the current node's next node. # Store the current node's next node.
next_node = current.next next_node = current.next
# Make the current node's next point backwards # Make the current node's next point backwards
current.next = prev current.next = prev
@ -63,5 +65,5 @@ class Linked_List:
prev = current prev = current
# Make the current node the next node (to progress iteration) # Make the current node the next node (to progress iteration)
current = next_node current = next_node
# Return prev in order to put the head at the end # Return prev in order to put the head at the end
Head = prev Head = prev