Update! More efficient version using references:
*title Insert Sort Test
*author RTWojick
*scene_list
startup
*create leadership 50
*create strength 50
*create intellect 50
*create agility 50
*create stat_0 "leadership"
*create stat_1 "strength"
*create stat_2 "intellect"
*create stat_3 "agility"
*label reset
*rand leadership 1 100
*rand strength 1 100
*rand intellect 1 100
*rand agility 1 100
Insert Sort Test
*page_break
*gosub insert_sort
Unsorted:
*stat_chart
text Leadership
text Strength
text Intellect
text Agility
*line_break
Sorted:
*line_break
$!{stat_0}: ${{stat_0}}
*line_break
$!{stat_1}: ${{stat_1}}
*line_break
$!{stat_2}: ${{stat_2}}
*line_break
$!{stat_3}: ${{stat_3}}
*page_break
*goto reset
*label insert_sort
*temp i 1
*temp j 0
*temp curr ""
*label sort_start
*set curr stat[i]
*set j (i - 1)
*label shift_vals
*if (j >= 0)
*if ({stat[j]} < {curr})
*set stat[j + 1] stat[j]
*set j -1
*goto shift_vals
*set stat[j + 1] curr
*set i +1
*if (i < 4)
*goto sort_start
*return