import time import sys t1=time.clock() class Node: def __init__(self, cargo=None, next=None): self.cargo = cargo self.next = next def __str__(self): return str(self.cargo) class linkedlist: def __init__(self): self.length = 0 self.head = None self.last = None def isEmpty(self): return (self.length == 0) def insert(self, cargo): node = Node(cargo) node.next = None if self.length == 0: # if list is empty, the new node is head and last self.head = self.last = node else: # find the last node last = self.last # append the new node last.next = node self.last = node self.length = self.length + 1 def printList(self,num): node=obj.head while node: qlist=(num)*[0] for i in range(0,num): qlist[i]=node.cargo node = node.next return qlist def intersection(m=[],n=[]): inter_sec=[] for i in range(0,len(m)): for j in range(0,len(n)): if (m[i]==n[j]): inter_sec.append(m[i]) break return inter_sec f1=open("in_13_10.txt") a=f1.readlines() lists_size=a[0] l1_elements=a[1] l1_elements=[int(g) for g in l1_elements.split(',')] l2_elements=a[2] l2_elements=[int(g) for g in l2_elements.split(',')] obj = linkedlist() for i in range(0,len(l1_elements)): obj.insert(l1_elements[i]) m=obj.printList(len(l1_elements)) for i in range(0,len(l2_elements)): obj.insert(l2_elements[i]) n=obj.printList(len(l2_elements)) f2=open("out_20_13_10.txt",'w') common=intersection(m,n) print>>f2,common t2=time.clock() var_list=[l1_elements,l2_elements,obj,m,n,f1,f2] memory=0 for i in range(0, len(var_list)): memory = memory+sys.getsizeof(var_list[i]) f2.write("time taken is:"+" "+str(t2-t1)+" "+'seconds'+'\n') f2.write('memory used is '+" "+str(memory)+" "+'bytes') f2.close()