Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,31 @@
|
|||
proc qselect k . list[] res .
|
||||
#
|
||||
subr partition
|
||||
mid = left
|
||||
for i = left + 1 to right
|
||||
if list[i] < list[left]
|
||||
mid += 1
|
||||
swap list[i] list[mid]
|
||||
.
|
||||
.
|
||||
swap list[left] list[mid]
|
||||
.
|
||||
left = 1
|
||||
right = len list[]
|
||||
while left < right
|
||||
call partition
|
||||
if mid < k
|
||||
left = mid + 1
|
||||
elif mid > k
|
||||
right = mid - 1
|
||||
else
|
||||
left = right
|
||||
.
|
||||
.
|
||||
res = list[k]
|
||||
.
|
||||
d[] = [ 9 8 7 6 5 0 1 2 3 4 ]
|
||||
for i = 1 to len d[]
|
||||
call qselect i d[] r
|
||||
print r
|
||||
.
|
||||
Loading…
Add table
Add a link
Reference in a new issue