File tree 1 file changed +45
-0
lines changed
Algorithms/Sorting Algorithms
1 file changed +45
-0
lines changed Original file line number Diff line number Diff line change
1
+ __author__ = 'Avinash'
2
+
3
+
4
+ def merge_sort (sort_list ):
5
+ print ("splitting" , sort_list )
6
+ if len (sort_list ) > 1 :
7
+ mid = len (sort_list ) // 2
8
+ leftHalf = sort_list [:mid ]
9
+ rightHalf = sort_list [mid :]
10
+
11
+ merge_sort (leftHalf )
12
+ merge_sort (rightHalf )
13
+
14
+ i = 0
15
+ j = 0
16
+ k = 0
17
+ while i < len (leftHalf ) and j < len (rightHalf ):
18
+ if leftHalf [i ] < rightHalf [j ]:
19
+ sort_list [k ] = leftHalf [i ]
20
+ i = i + 1
21
+ else :
22
+ sort_list [k ] = rightHalf [j ]
23
+ j = j + 1
24
+ k = k + 1
25
+
26
+ while i < len (leftHalf ):
27
+ sort_list [k ] = leftHalf [i ]
28
+ i = i + 1
29
+ k = k + 1
30
+
31
+ while j < len (rightHalf ):
32
+ sort_list [k ] = rightHalf [j ]
33
+ j = j + 1
34
+ k = k + 1
35
+ print ("merging..." , sort_list )
36
+
37
+
38
+ lst = []
39
+ size = int (input ("Enter size of the list: \t " ))
40
+
41
+ for i in range (size ):
42
+ elements = int (input ("Enter an element: \t " ))
43
+ lst .append (elements )
44
+
45
+ merge_sort (lst )
You can’t perform that action at this time.
0 commit comments