mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-20 03:20:18 +00:00
30 lines
581 B
Python
30 lines
581 B
Python
import random
|
|
|
|
a = [random.randint(-100000, 100000) for i in range(100000)]
|
|
|
|
def __qsort(a: list, i: int, j: int):
|
|
if i>=j:
|
|
return
|
|
d1, d2 = i, j
|
|
mid = (i+j) // 2
|
|
a[mid], a[i] = a[i], a[mid]
|
|
u = a[i];
|
|
while i<j:
|
|
while i<j and a[j]>u:
|
|
j -= 1
|
|
if i<j:
|
|
a[i] = a[j]
|
|
i += 1
|
|
while i<j and a[i]<u:
|
|
i += 1
|
|
if i<j:
|
|
a[j] = a[i]
|
|
j -= 1
|
|
a[i] = u;
|
|
__qsort(a, d1, i-1)
|
|
__qsort(a, i+1, d2)
|
|
|
|
from dis import dis
|
|
# dis(__qsort)
|
|
|
|
__qsort(a, 0, len(a)-1) |