From 9c578e0df09e171060f4785616cbc6b96c7edf6a Mon Sep 17 00:00:00 2001 From: sovushka Date: Mon, 2 Dec 2024 13:29:37 +0000 Subject: [PATCH] Add 5.py --- 5.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 5.py diff --git a/5.py b/5.py new file mode 100644 index 0000000..349ed2e --- /dev/null +++ b/5.py @@ -0,0 +1,28 @@ +from random import randint + +a = [randint(0, 100) for i 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) \ No newline at end of file