|
|
|||||||||||
Сортировка словаря методом реконструкции13.04.2014, 01:43. Показов 12362. Ответов 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 | |
|
Помогаю со студенческими работами здесь
48
Сортировка словаря Сортировка словаря сортировка словаря Сортировка словаря по ключу
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
|
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|