__author__ = 'nitin'
class Node:
def __init__(self,initdata):
self.data=initdata
self.next=None
def getData(self):
return self.data
def setData(self,item):
self.data=item
def getNext(self):
return self.next
def setNext(self,item):
self.next=item
class UnorderedList:
def __init__(self):
self.head=None
def isEmpty(self):
return self.head==None
def add(self,item):
temp=Node(item)
temp.setNext(self.head)
self.head=temp
def size(self):
current=self.head
count=0
while current!=None:
count=count+1
current=current.getNext()
return count
def rem_duplicates(self):
current=self.head
result=self.head
print_list(result)
print "\n"
while current!=None:
iter_node=current.getNext()
prev=current
while iter_node!=None:
if current.getData()==iter_node.getData():
prev.setNext(iter_node.getNext())
else:
prev=iter_node
iter_node=iter_node.getNext()
current=current.getNext()
print_list(result)
return result
def print_list(result):
current=result
nxt = current.getNext()
print current.getData()
if(nxt is not None):
print_list(nxt)
mylist = UnorderedList()
mylist.add(7)
mylist.add(6)
mylist.add(5)
mylist.add(4)
mylist.add(3)
mylist.add(5)
mylist.add(2)
mylist.add(1)
print result=mylist.rem_duplicates()
class Node:
def __init__(self,initdata):
self.data=initdata
self.next=None
def getData(self):
return self.data
def setData(self,item):
self.data=item
def getNext(self):
return self.next
def setNext(self,item):
self.next=item
class UnorderedList:
def __init__(self):
self.head=None
def isEmpty(self):
return self.head==None
def add(self,item):
temp=Node(item)
temp.setNext(self.head)
self.head=temp
def size(self):
current=self.head
count=0
while current!=None:
count=count+1
current=current.getNext()
return count
def rem_duplicates(self):
current=self.head
result=self.head
print_list(result)
print "\n"
while current!=None:
iter_node=current.getNext()
prev=current
while iter_node!=None:
if current.getData()==iter_node.getData():
prev.setNext(iter_node.getNext())
else:
prev=iter_node
iter_node=iter_node.getNext()
current=current.getNext()
print_list(result)
return result
def print_list(result):
current=result
nxt = current.getNext()
print current.getData()
if(nxt is not None):
print_list(nxt)
mylist = UnorderedList()
mylist.add(7)
mylist.add(6)
mylist.add(5)
mylist.add(4)
mylist.add(3)
mylist.add(5)
mylist.add(2)
mylist.add(1)
print result=mylist.rem_duplicates()
No comments:
Post a Comment