28 lines
624 B
Python
28 lines
624 B
Python
from random import randint
|
|
|
|
a = [randint(0, 100) for _ in range(10)]
|
|
print(a)
|
|
|
|
|
|
def fast(A, nac, kon):
|
|
if nac >= kon: return
|
|
|
|
nac1, kon1 = nac, kon
|
|
sr = A[(nac1 + kon1) // 2]
|
|
sr1 = int(str(sr)[0])
|
|
while nac1 <= kon1:
|
|
while int(str(A[nac1])[0]) < sr1:
|
|
nac1 += 1
|
|
while int(str(A[kon1])[0]) > sr1:
|
|
kon1 -= 1
|
|
if nac1 <= kon1:
|
|
A[nac1], A[kon1] = A[kon1], A[nac1]
|
|
nac1 += 1
|
|
kon1 -= 1
|
|
fast(A, nac, kon1)
|
|
fast(A, nac1, kon)
|
|
|
|
|
|
fast(a, 0, len(a) - 1)
|
|
print('Отсортированный массив: ')
|
|
print(a) |