Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def sum_digits(n):
- return sum(map(int, str(n)))
- # сортировка выбором
- def choice_sort(l):
- a = l[:]
- n = len(a) # всего n**2 / 2
- for i in range(n - 1): # n раз
- # ищем индекс максимума
- max_idx = 0
- for j in range(1, n - i): # n / 2
- if a[max_idx] < a[j]:
- max_idx = j
- # меняем
- a[max_idx], a[-(i + 1)] = a[-(i + 1)], a[max_idx]
- return a
- # сортировка выбором
- def choice_sort(l, key=lambda x: x):
- a = l[:]
- n = len(a)
- for i in range(1, n):
- for j in range(n - i):
- if key(a[-i]) < key(a[j]):
- a[-i], a[j] = a[j], a[-i]
- return a
- # сортировка вставками online-алгоритм
- def insert_sort(l):
- a = l[:]
- n = len(a)
- for i in range(1, n):
- j = i
- while j > 0 and a[j - 1] > a[j]:
- a[j - 1], a[j] = a[j], a[j - 1]
- j -= 1
- return a
- # сортировка "пузырьком"
- def bubble_sort(l):
- a = l[:]
- n = len(a)
- for i in range(n - 1):
- for j in range(n - i - 1):
- if a[j] > a[j + 1]:
- a[j], a[j + 1] = a[j + 1], a[j]
- return a
- def my_sort(l):
- a = l[:]
- n = len(a)
- for i in range(n):
- for j in range(n):
- if a[j] > a[i]:
- a[i], a[j] = a[j], a[i]
- return a
Advertisement
Add Comment
Please, Sign In to add comment