Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,36 @@
|
|||
beads 1 program Quicksort
|
||||
|
||||
calc main_init
|
||||
var arr = [1, 3, 5, 1, 7, 9, 8, 6, 4, 2]
|
||||
var arr2 = arr
|
||||
quicksort(arr, 1, tree_count(arr))
|
||||
var tempStr : str
|
||||
loop across:arr index:ix
|
||||
tempStr = tempStr & ' ' & to_str(arr[ix])
|
||||
log tempStr
|
||||
|
||||
calc quicksort(
|
||||
arr:array of num
|
||||
startIndex
|
||||
highIndex
|
||||
)
|
||||
if (startIndex < highIndex)
|
||||
var partitionIndex = partition(arr, startIndex, highIndex)
|
||||
quicksort(arr, startIndex, partitionIndex - 1)
|
||||
quicksort(arr, partitionIndex+1, highIndex)
|
||||
|
||||
calc partition(
|
||||
arr:array of num
|
||||
startIndex
|
||||
highIndex
|
||||
):num
|
||||
var pivot = arr[highIndex]
|
||||
var i = startIndex - 1
|
||||
var j = startIndex
|
||||
loop while:(j <= highIndex - 1)
|
||||
if arr[j] < pivot
|
||||
inc i
|
||||
swap arr[i] <=> arr[j]
|
||||
inc j
|
||||
swap arr[i+1] <=> arr[highIndex]
|
||||
return (i+1)
|
||||
Loading…
Add table
Add a link
Reference in a new issue