![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 05.09.2022
Сообщений: 8
|
![]()
Добрый день! Пытаюсь выполнить сортировку двумерного массива по одному из столбцов не изменяя сам массив, другими словами я хочу получить на выходе массив лишь из 2 столбцов, 1 - содержит значение из столбца по которому идет сортировка, 2 - содержит номер строки этого значения в исходном массиве. Реализовать сортировку пытаюсь неким подобием пирамидальной сортировки используя вместо ссылок вложенные массивы (может не совсем разумно, но сейчас уже вопрос интереса встал). Вот пример:
Код:
Код:
|
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 10.11.2016
Сообщений: 11
|
![]() |
![]() |
![]() |
![]() |
#3 |
Регистрация: 05.09.2022
Сообщений: 8
|
![]()
Пирамидальная сортировка основана на создании бинарного дерева в котором значения как бы просеиваются, меньшие уходят в левую часть, а большие в правую. Обычно связующим звеном между элементами дерева являются указатели на аналогичное дерево, которое находится на более низком уровне. Я попытался реализовать данную структуру через вложенные массивы (т.к. я не знаком с таким понятием как "куча" в VBA и не знаю как реализовать ссылочный проход по элементам дерева), и в принципе все получилось, но для этого понадобился рекурсивный обход массивов и возникла проблема с переполнение стека вызовов на очень больших массивах, а смысл применения пирамидальной сортировки тем выше, чем больше сортируемый массив, так что у меня получилась противоречивая сортировка и чтобы исправить данный пробел я и обратился за помощью, а меня нравоучать начали.
|
![]() |
![]() |
![]() |
#4 |
Регистрация: 05.09.2022
Сообщений: 8
|
![]()
Придумал решение проблемы через создание пользовательского класса, т.к. мы обращаемся к нему как к объекту, то ссылки должны были отлично срабатывать. Создал класс PointerArray:
Код:
Код:
|
![]() |
![]() |
![]() |
#5 |
Участник клуба
Регистрация: 15.12.2009
Сообщений: 1,448
|
![]()
Бесплатная помощь: www.excelworld.ru
Платная помощь: serge_007.planetaexcel@mail.ru https://yoomoney.ru: 41001419691823 |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
присвоение переменной строки файла С++ | DaiHajime | Помощь студентам | 8 | 28.02.2014 11:03 |
Присвоение переменной | gajubas | PHP | 1 | 21.04.2010 20:18 |
присвоение переменной текущей даты | KaimNotark | Помощь студентам | 1 | 29.01.2010 08:17 |