|
|
|||||||||||
Сортировка словаря методом реконструкции13.04.2014, 01:43. Показов 13246. Ответов 47
Посмотрите, пожалуйста, может существует более оптимальный алгоритм.
Здесь я создаю 2 массива: с ключами и со значениями. В алгоритме сортировки вставками я переставляю одновременно оба массива. Затем создаю виртуальный словарь: последовательно читаю, в каком порядке должны идти ключи и заполняю его "ключ + значение исходного словаря".
0
|
|||||||||||
| 13.04.2014, 01:43 | |
|
Ответы с готовыми решениями:
47
Составить алгоритм и программу определения самых старых зданий, подлежащих реконструкции Сортировка словаря Сортировка словаря |
| 28.11.2023, 17:38 | ||
|
Добавлено через 2 минуты Если вы про квик, то там сравнение исключительно бинарное
1
|
||
| 28.11.2023, 18:06 | |||||||
|
The trick, скажи пожалуйста, чисто гипотетически можно ли каким-нибудь таким образчиком получить доступ к данным ячеек Excel напрямую или хотябы насколько велики масштабы подобного исследования. Это чисто из любопытства, но, я думаю многим пользователям vba было бы это интересно.
Добавлено через 10 минут Добавлено через 16 минут Пример с указателями Кликните здесь для просмотра всего текста
0
|
|||||||
|
|
|||||||
| 28.11.2023, 18:12 [ТС] | |||||||
|
С помощью словаря создавалось подобие связанной таблицы по полю PID (у VBScript нет возможности создавать структуру):
Можно конечно как вы предлагаете на месте отсортировать 2 массива, и сразу заюзать не рекунструируя словарь. Но вызвать функцию, передав пареметром словарь и на выходе получить уже готовый - так гораздо удобнее. Конечно, всё упирается на т/з и кол-во элементов. В любых других ситуауциях с большим объемом данных здесь стоит юзать БД.
0
|
|||||||
|
Модератор
|
||
| 28.11.2023, 21:10 | ||
|
2
|
||
| 29.11.2023, 09:42 | ||
|
У "*.xlsb" там же будут бинарники, а "*.xls" (который многие до сих пор активно используют, не давая умереть и облегчить жизнь программистам) — вообще борода полная, не искал. Помним, что, хоть из хмл спарсить данные можно очень быстро, но этот хмл ещё нужно скопировать (чтобы добраться до содержимого) из книги (Namespace), а это тоже время — и немалое, если в хмл много инфы. Нужно учесть, что в хмл может быть НЕ ВСЯ инфа с листа. Короче говоря, не советую… Можно ADODB попробовать для доступа, но я не стал из-за огромного количества нюансов и неизбежной необходимости всё самому тестить. P.S.: в предыдущем посте, опять забыл, что мы тут все друзяшки и "на ты" общаемся
0
|
||
| 29.11.2023, 15:49 | |
|
testuser2, огого
![]() Ну, это будет НАМНОГО сложнее даже непростого разбора xml, если вообще возможно. Да — профит может быть впечатляющий, но кто возьмётся за "копание" … Чур не я ![]() Добавлено через 9 минут P.S.: плохо прочёл … 1. Если книга открыта, то найти в ней что-то не так сложно (и я очень удивлюсь, что данные книги хранятся в оперативной памяти). Да - если бы было что-то типа строки со всеми данными листа — для каждого листа, то парсинг такой строки можно выполнить в разы быстрее, чем через Find или массивы. Но такой поиск — довольно нишевая специфика. Мне, например, пока не нужно было ни разу. 2. Другое дело — получение данных из закрытых книг. Большое количество времени тратится просто на открытие (а на корявой винде, как у меня ранее на работе — и на закрытие) книги. И вот, если сделать инструмент быстрого получения данных с листа и/или структуры книги (имена листов и их видимость), то вот такая штука мне бы очень пригодилась. У меня есть парсер workbook.xml — для получения структуры книги. Работает невероятно быстро. Но, к сожалению, данные ко мне попадают в том числе в бинарных и старых книгах, что сводит на нет этот вариант. P.P.S.: мы отошли от темы
0
|
|
| 29.11.2023, 16:04 | ||
|
Фактически, как я это представляю, достаточно было бы 1) сдлать xll-ку, с функцией, которая возвращает указатель на начало некоего массива данны 2) знать структуру этих данных Если я конечно не ошибаюсь в представлении того, что эо массив, т.е. некий непрерывный участок памяти. Еще один момент, что может быть память Экселя может быт как-то изолирована от "вторжения извне" (из vba).
0
|
||
| 29.11.2023, 16:04 | |
|
Сортировка словаря Сортировка словаря сортировка словаря Сортировка словаря по ключу
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 31.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ
Основная суть и тезисы по измерениям:
0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема.
Объект не может перемещаться в 0D.
1D (Первое измерение):. . .
|