Professional Documents
Culture Documents
Task1:
#MERGE SORT
def mergesort(A,p,r):
if p<r:
q=(p+r)//2
mergesort(A,p,q)
mergesort(A,q+1,r)
merge(A,p,q,r)
return A
def merge(A,p,q,r):
n1=q-p+1
n2=r-q
l,R=[],[]
for i in range(0,n1):
l.append(A[i+p])
for j in range(0,n2):
R.append(A[j+q+1])
l.append(1000001)
R.append(100000)
i=j=0
for k in range(p,r+1):
if l[i]<R[j]:
A[k]=l[i]
i+=1
else:
A[k]=R[j]
j+=1
return A
a=list(map(int,input().split()))
p,r=0,len(a)-1
print(mergesort(a,p,r))
Task2:
#QUICKSORT::
def part(p,r):
pivot=a[r]
i=p-1
for j in range(p,r):
if pivot>=a[j]:
i+=1
a[i],a[j]=a[j],a[i]
a[i+1],a[r]=a[r],a[i+1]
return i+1
def quicksort(p,r):
if p<r:
q=part(p,r)
quicksort(p,q-1)
quicksort(q+1,r)
a=list(map(int,input().split()))
p,r=0,len(a)-1
quicksort(p,r)
print(a)