ArraySortEx
- Синтаксис
-
native ArraySortEx(Array:array, const comparefunc[], data[]="", data_size=0);
Переменная | Описание |
---|---|
array |
Array handle |
comparefunc |
Callback function used for comparison |
data |
Extra data that is passed through to the callback |
data_size |
Size of extra data |
- Описание
- A faster version of ArraySort, the sorting algorithm then uses the custom comparison function to sort the data.
- Пометка
-
The advantage of this function is that the data of the elements being compared is directly passed to the function, instead of the item indexes that are passed by ArraySort. This removes the need for calling ArrayGet[Cell|String|Array] every time before being able to compare the elements.
- Пометка
-
For Arrays with a cellsize of 1 (used for storing integers and floats), the function is called in the following manner: public MySortFunc(Array:array, elem1, elem2, const data[], data_size) array - Array handle in its current un-sorted state elem1, elem2 - Current element pair being compared data[] - Extra data array passed to the sort func data_size - Size of extra data
- Пометка
-
For Arrays with a cellsize larger than 1 (used for storing arrays and strings), the function is called in the following manner: public MySortFunc(Array:array, elem1[], elem2[], const data[], data_size) array - Array handle in its current un-sorted state elem1[], elem2[] - Current element pair being compared data[] - Extra data array passed to the sort func data_size - Size of extra data
- Пометка
-
The comparison function should return: -1 if elem1 should go before elem2 0 if elem1 and elem2 are equal 1 if elem1 should go after elem2
- Пометка
-
All parameters after item2 are optional and do not need to be specified and used.
- Пометка
-
Unlike the sorting.inc version, the array passed to the callback is not in mid-sorted state.
- Возвращает
- Функция ничего не возвращает