Существует много алгоритмов сортировки массивов. Все они могут быть адаптированы для любого языка программирования, в том числе и 1С. Но в 1С реализованы и платформенные способы сортировки. Именно о них пойдет речь в статье.
Самым простым и достаточно быстрым способом сортировки массива в 1С является следующий алгоритм:
- Выгрузка исходного массива в список значений;
- Сортировка списка значений с использованием платформенного метода СортироватьПоЗначению();
- Выгрузка списка значений обратно в массив.
Рассмотрим пример программного кода, реализующего описанную последовательность действий:
Список = Новый СписокЗначений; // Подготовительные действия: создание списка значений
Список.ЗагрузитьЗначения(Массив); // Этап 1
Список.СортироватьПоЗначению(НаправлениеСортировки.Возр); // Этап 2
Массив = Список.ВыгрузитьЗначения(); // Этап 3
Параметр метода СортироватьПоЗначению() может принимать значения:
- НаправлениеСортировки.Возр;
- НаправлениеСортировки.Убыв.
Таблицу значений также можно использовать для сортировки массива по аналогии с описанным алгоритмом, но это не так удобно, т.к. требуются дополнительные действия:
ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("ЗначенияМассива"); // Создание колонки, в которую будет загружен массив
// Создание строк по количеству элементов массива
Для Ном = 1 По Массив.Количество() Цикл
ТЗ.Добавить();
КонецЦикла;
ТЗ.ЗагрузитьКолонку(Массив, "ЗначенияМассива");
ТЗ.Сортировать("ЗначенияМассива Возр");
Массив = ТЗ.ВыгрузитьКолонку("ЗначенияМассива");
Кроме того, необходимо помнить, что таблица значений доступна только на стороне сервера.