mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-20 11:30:18 +00:00
up
This commit is contained in:
parent
63a00d0faf
commit
798697e488
@ -2,27 +2,19 @@ import random
|
|||||||
|
|
||||||
a = [random.randint(-100000, 100000) for i in range(100000)]
|
a = [random.randint(-100000, 100000) for i in range(100000)]
|
||||||
|
|
||||||
def __qsort(a: list, i: int, j: int):
|
def __qsort(a: list, L: int, R: int):
|
||||||
if i>=j:
|
if L >= R: return;
|
||||||
return
|
mid = a[(R+L)//2];
|
||||||
d1, d2 = i, j
|
i, j = L, R
|
||||||
mid = (i+j) // 2
|
while i<=j:
|
||||||
a[mid], a[i] = a[i], a[mid]
|
while a[i]<mid: i+=1
|
||||||
u = a[i];
|
while a[j]>mid: j-=1
|
||||||
while i<j:
|
if i<=j:
|
||||||
while i<j and a[j]>u:
|
a[i], a[j] = a[j], a[i]
|
||||||
j -= 1
|
i+=1
|
||||||
if i<j:
|
j-=1
|
||||||
a[i] = a[j]
|
__qsort(a, L, j)
|
||||||
i += 1
|
__qsort(a, i, R)
|
||||||
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
|
from dis import dis
|
||||||
# dis(__qsort)
|
# dis(__qsort)
|
||||||
|
@ -116,27 +116,19 @@ tuple.__repr__ = lambda self: '(' + ', '.join([repr(i) for i in self]) + ')'
|
|||||||
list.__json__ = lambda self: '[' + ', '.join([i.__json__() for i in self]) + ']'
|
list.__json__ = lambda self: '[' + ', '.join([i.__json__() for i in self]) + ']'
|
||||||
tuple.__json__ = lambda self: '[' + ', '.join([i.__json__() for i in self]) + ']'
|
tuple.__json__ = lambda self: '[' + ', '.join([i.__json__() for i in self]) + ']'
|
||||||
|
|
||||||
def __qsort(a: list, i: int, j: int):
|
def __qsort(a: list, L: int, R: int):
|
||||||
if i>=j:
|
if L >= R: return;
|
||||||
return
|
mid = a[(R+L)//2];
|
||||||
d1, d2 = i, j
|
i, j = L, R
|
||||||
mid = (i+j) // 2
|
while i<=j:
|
||||||
a[mid], a[i] = a[i], a[mid]
|
while a[i]<mid: i+=1
|
||||||
u = a[i];
|
while a[j]>mid: j-=1
|
||||||
while i<j:
|
if i<=j:
|
||||||
while i<j and a[j]>u:
|
a[i], a[j] = a[j], a[i]
|
||||||
j -= 1
|
i+=1
|
||||||
if i<j:
|
j-=1
|
||||||
a[i] = a[j]
|
__qsort(a, L, j)
|
||||||
i += 1
|
__qsort(a, i, R)
|
||||||
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)
|
|
||||||
|
|
||||||
def __list4sort(self, reverse=False):
|
def __list4sort(self, reverse=False):
|
||||||
__qsort(self, 0, len(self)-1)
|
__qsort(self, 0, len(self)-1)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user