Skip to content

Commit 4ac5b9b

Browse files
committed
Merge pull request prakhar1989#14 from Xuefeng-Zhu/patch-6
Little optimization to sorting
2 parents 54c084d + 1f410b6 commit 4ac5b9b

1 file changed

Lines changed: 6 additions & 7 deletions

File tree

sorting and basics/sorting.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,8 @@ def mergesort(arr):
99
"""
1010
n = len(arr)
1111
if n <= 1: return arr
12-
a1 = arr[:n/2]
13-
a2 = arr[n/2:]
14-
a1 = mergesort(a1)
15-
a2 = mergesort(a2)
12+
a1 = mergesort(arr[:n/2])
13+
a2 = mergesort(arr[n/2:])
1614
return merge(a1, a2)
1715

1816
def merge(arr_a, arr_b):
@@ -25,8 +23,8 @@ def merge(arr_a, arr_b):
2523
else:
2624
arr_c.append(arr_b[j])
2725
j += 1
28-
if arr_a[i:]: arr_c += arr_a[i:]
29-
if arr_b[j:]: arr_c += arr_b[j:]
26+
if arr_a[i:]: arr_c.extend(arr_a[i:])
27+
if arr_b[j:]: arr_c.extend(arr_b[j:])
3028
return arr_c
3129

3230
def quicksort(a):
@@ -84,8 +82,9 @@ def insertionsort(a):
8482
item = a[i]
8583
j = i
8684
while j > 0 and a[j-1] > item:
87-
a[j],a[j-1] = a[j-1],a[j]
85+
a[j] = a[j-1]
8886
j -= 1
87+
a[j] = item
8988
return a
9089

9190
if __name__ == "__main__":

0 commit comments

Comments
 (0)