_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" )