Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,33 @@
|
|||
Partition = function(a, low, high)
|
||||
pivot = a[low]
|
||||
leftwall = low
|
||||
|
||||
for i in range(low + 1, high)
|
||||
if a[i] < pivot then
|
||||
leftwall = leftwall + 1
|
||||
temp = a[leftwall]
|
||||
a[leftwall] = a[i]
|
||||
a[i] = temp
|
||||
end if
|
||||
end for
|
||||
|
||||
temp = a[leftwall]
|
||||
a[leftwall] = pivot
|
||||
a[low] = temp
|
||||
|
||||
return leftwall
|
||||
end function
|
||||
|
||||
QuickSort = function(a, low=null, high=null)
|
||||
if not low then low = 0
|
||||
if not high then high = a.len - 1
|
||||
if low < high then
|
||||
pivot_location = Partition(a, low, high)
|
||||
QuickSort a, low, pivot_location - 1
|
||||
QuickSort a, pivot_location + 1, high
|
||||
end if
|
||||
|
||||
return a
|
||||
end function
|
||||
|
||||
print QuickSort([3, 5, 2, 4, 1])
|
||||
Loading…
Add table
Add a link
Reference in a new issue