This repository has been archived on 2021-10-31. You can view files and clone it, but cannot push or open issues or pull requests.
DSA/mergesort.py

35 lines
597 B
Python
Executable File

#!/usr/bin/env python3
# vim: set ts=4 sw=4 et tw=80:
import sys
import math
def find(A,x):
for a in A:
if a == x:
return True
return False
def merge(A,B):
X = []
for a in A:
if not find(X, a):
X.append(a)
for b in B:
if not find(X, b):
X.append(b)
return X
def mergesort(A):
l = len(A)
if l < 2:
return A
else:
lh = len(A) // 2
h1 = mergesort(A[:lh])
h2 = mergesort(A[lh:])
return merge(h1,h2)
args = [int(x) for x in sys.argv[1:]]
print(mergesort(args))