/* * Author: Ruthberg * Sorts an array of numbers * * Arguments: * 0: array * 1: ascending (optional) * * Return Value: * sortedArray (ARRAY) * * Public: Yes */ #include "script_component.hpp" params ["_list", ["_ascending", true]]; _list = + _list; // copy array to not alter the original one private "_tmp"; for "_i" from 1 to (count _list - 1) do { _tmp = _list select _i; _j = _i; while {_j >= 1 && {_tmp < _list select (_j - 1)}} do { _list set [_j, _list select (_j - 1)]; _j = _j - 1; }; _list set [_j, _tmp]; }; if (!_ascending) then { reverse _list; }; _list