File tree Expand file tree Collapse file tree 1 file changed +40
-0
lines changed
chapters/sorting_searching/merge/code/python Expand file tree Collapse file tree 1 file changed +40
-0
lines changed Original file line number Diff line number Diff line change
1
+ import random
2
+
3
+
4
+ def merge (l1 , l2 ):
5
+ i = j = 0
6
+ l = []
7
+
8
+ while (i < len (l1 )) and (j < len (l2 )):
9
+ if l1 [i ] < l2 [j ]:
10
+ l .append (l1 [i ])
11
+ i += 1
12
+ else :
13
+ l .append (l2 [j ])
14
+ j += 1
15
+
16
+ l .extend (l1 [i :len (l1 )])
17
+ l .extend (l2 [j :len (l2 )])
18
+
19
+ return l
20
+
21
+
22
+ def merge_sort (l ):
23
+ if len (l ) == 1 :
24
+ return l
25
+
26
+ l1 = merge_sort (l [0 :len (l )// 2 ])
27
+ l2 = merge_sort (l [len (l )// 2 :len (l )])
28
+
29
+ return merge (l1 , l2 )
30
+
31
+
32
+ def main ():
33
+ number = [random .randint (0 , 10000 ) for _ in range (10 )]
34
+ print ("Before Sorting {}" .format (number ))
35
+ number = merge_sort (number )
36
+ print ("After Sorting {}" .format (number ))
37
+
38
+
39
+ if __name__ == "__main__" :
40
+ main ()
You can’t perform that action at this time.
0 commit comments