Tree.Sort

From SunFlurry wiki
Jump to: navigation, search
  Sort (Сортировка веток)
Объект:Дерево
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Исключения:Невозможно превратить в число, неверное значение
Визуальность:Нет

Применимо к объектам ветки и дерева. Функция производит сортировку дочерних веток текущего объекта по их значениям в указанном направлении с возможностью сортировать также все ветки нижних уровней.

Синтаксис

Tree.Sort(<Направление сортировки (INT)>=0,<Сортировать все дочерние ветки (INT)>=0,<Алгоритм сортировки (INT)>=1)

Аргументы

  • <Направление сортировки (INT)> - (необязательный аргумент) Возможные значения: 0 -- по неубыванию (по умолчанию), 1 -- по невозрастанию.
  • <Сортировать все дочерние ветки (INT)> - (необязательный аргумент) Аргумент задает режим рекурсивной сортировки. По умолчанию 0 (сортировать только текущие дочерние ветки).
  • <Алгоритм сортировки (INT)> - (необязательный аргумент) Возможные значения: 0 -- использовать алгоритм quicksort (медленно, не рекомендуется), 1 -- использовать алгоритм объединения (рекомендуется, по умолчанию).

Примеры

aTree:=Tree.Create();
aBranch1:=aTree.Add(1,"Ветка 1");
aBranch1.Add(2,"Ветка 1.1");
aTree.Add(3,"Ветка 2");
aTree.Insert(1,0,"Ветка 0");
aTree.Sort(1);

//Будет выведено 3
Message("Значение первой ветки дерева: "+aTree.ByIndex(1).Value);