We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 5dc6ae6 commit cc30d03Copy full SHA for cc30d03
sorts/mergesort.py
@@ -1,3 +1,5 @@
1
+from collections import deque
2
+
3
def mergesort(list):
4
5
def sort(l):
@@ -9,22 +11,24 @@ def sort(l):
9
11
right = sort(l[len(l)//2:])
10
12
13
output = merge(left, right)
- # print('->' + str(output))
14
15
return output
16
17
def merge(l1, l2):
- # print(l1,l2)
18
19
res = []
20
+ l1 = deque(l1)
21
+ l2 = deque(l2)
22
23
while l1 and l2:
24
if l1[0] < l2[0]:
- res.append(l1.pop(0))
25
+ res.append(l1.popleft())
26
else:
- res.append(l2.pop(0))
27
+ res.append(l2.popleft())
28
while l1:
29
30
while l2:
31
32
return res
33
34
return sort(list)
0 commit comments