↑  ←  Описание функции


_ArraySort

Сортировать одномерный или двумерный массив в указанном диапазоне индексов используя алгоритмы quicksort/insertionsort.

#include <Array.au3>
_ArraySort(ByRef $avArray [, $iDescending = 0 [, $iStart = 0 [, $iEnd = 0 [, $iSubItem = 0]]]])

Параметры

$avArray Массив для сортировки
$iDescending [необязательный] Если установлено в 1, то сортировать по убыванию
$iStart [необязательный] Индекс массива, от которого начинать сортировку
$iEnd [необязательный] Индекс массива, в котором закончить сортировку
$iSubItem [необязательный] Индекс колонки, по которой сортировать в двумерном массиве

Возвращаемое значение

Успех:Возвращает 1
Ошибка:0, устанавливает @error:
@error:1 - Массив $avArray не является массивом
2 - $iStart больше $iEnd
3 - Индекс колонки $iSubItem больше количества колонок
4 - Размерность массива $avArray более двух

Пример

#include <Array.au3>

;===============================================================================
; Пример 1 (использование 1D массива)
;===============================================================================
Local $avArray[10] = [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

_ArrayDisplay($avArray, "Массив перед сортировкой" )
_ArraySort($avArray)
_ArrayDisplay($avArray, "Массив после сортировки по возрастанию" )
_ArraySort($avArray, 1)
_ArrayDisplay($avArray, "Массив после сортировки по убыванию" )
_ArraySort($avArray, 0, 3, 6)
_ArrayDisplay($avArray, "Массив после сортировки по возрастанию начиная от индекса 3 до 6" )

;===============================================================================
; Пример 2 (использование 2D массива)
;===============================================================================
Local $avArray[5][3] = [ _
[5, 20, 8], _
[4, 32, 7], _
[3, 16, 9], _
[2, 35, 0], _
[1, 19, 6]]

_ArrayDisplay($avArray, "Массив перед сортировкой" )
_ArraySort($avArray, 0, 0, 0, 0)
_ArrayDisplay($avArray, "Массив после сортировки по возрастанию в колонке 0" )
_ArraySort($avArray, 0, 0, 0, 1)
_ArrayDisplay($avArray, "Массив после сортировки по возрастанию в колонке 1" )
_ArraySort($avArray, 0, 0, 0, 2)
_ArrayDisplay($avArray, "Массив после сортировки по возрастанию в колонке 2" )