Amazing-Python-Scripts
58 строк · 1.2 Кб
1# -*- coding: utf-8 -*-
2"""
3Author: Himanshu Agarwal
4Github: himanshu-03 (http://github.com/himanshu-03)
5LinkedIn: agarwal-himanshu (https://linkedin.com/in/agarwal-himanshu)
6
7# Merge Sort
8"""
9
10
11def merger(a, start, mid, end):
12temp = []
13for i in range(len(a)):
14temp.append(0)
15i = start
16j = mid + 1
17ti = start
18while i <= mid and j <= end:
19if a[i] < a[j]:
20temp[ti] = a[i]
21ti += 1
22i += 1
23else:
24temp[ti] = a[j]
25ti += 1
26j += 1
27while i <= mid:
28temp[ti] = a[i]
29ti += 1
30i += 1
31while j <= end:
32temp[ti] = a[j]
33ti += 1
34j += 1
35
36for i in range(start, end+1):
37a[i] = temp[i]
38
39
40def mergesort(a, start, end):
41if start < end:
42mid = (start+end)//2
43mergesort(a, start, mid)
44mergesort(a, mid+1, end)
45merger(a, start, mid, end)
46
47
48a = []
49size = int(input('Enter size of array: '))
50print('')
51for i in range(size):
52data = int(input('Enter element: '))
53a.append(data)
54print('')
55print('Elements are: ', a)
56
57mergesort(a, 0, len(a)-1)
58print('After sorting elements are: ', a)
59