Gagarin614
Новые
- Регистрация
- 17 Окт 2010
- Сообщения
- 43
- Реакции
- 0
- Баллы
- 0
Многопоточный сортировщик методом слияния
Ребят помогите переделать данный код в многопотоковый. Запускаю в терминале Ubuntu, все четко выводит, теперь надо многопотоковым. Или дайте ссылку про "многопоточный сортировщик метод слияние"
A = [9, 7, 5, 2, 1, 3, 8]
def merge_sort(A):
if len(A) <= 1:
return A
middle = int(len(A) / 2)
left = merge_sort(A[:middle])
right = merge_sort(A[middle:])
return merge(left, right)
def merge(left, right):
result = []
while len(left) > 0 and len(right) > 0:
if left[0] <= right[0]:
result.append(left[0])
left = left[1:]
else:
result.append(right[0])
right = right[1:]
if len(left) > 0:
result +=left
if len(right) > 0:
result +=right
return result
print A
B = merge_sort(A)
print B
Ребят помогите переделать данный код в многопотоковый. Запускаю в терминале Ubuntu, все четко выводит, теперь надо многопотоковым. Или дайте ссылку про "многопоточный сортировщик метод слияние"
A = [9, 7, 5, 2, 1, 3, 8]
def merge_sort(A):
if len(A) <= 1:
return A
middle = int(len(A) / 2)
left = merge_sort(A[:middle])
right = merge_sort(A[middle:])
return merge(left, right)
def merge(left, right):
result = []
while len(left) > 0 and len(right) > 0:
if left[0] <= right[0]:
result.append(left[0])
left = left[1:]
else:
result.append(right[0])
right = right[1:]
if len(left) > 0:
result +=left
if len(right) > 0:
result +=right
return result
print A
B = merge_sort(A)
print B