C чем VB быстрее работает (массив или коллекция)?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

C чем VB быстрее работает (массив или коллекция)?

Сообщение Ruslan Demidow » 25.05.2004 (Вт) 9:38

Сабж, собственно.
Элементы: пользовательские типы записей с количеством полей около 10-15.
Обработка: поиск записи, содержащей поле с определённым значением, сортировка и т.п.
Количество: от 1 000 до 15 000-20 000
Последний раз редактировалось Ruslan Demidow 25.05.2004 (Вт) 9:41, всего редактировалось 1 раз.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 25.05.2004 (Вт) 9:40

Если поиск будет осуществляться только по одному полю, которое притом уникально (ключ), то коллекции (там бинарный поиск). А так массивы лучше.
Lasciate ogni speranza, voi ch'entrate.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 25.05.2004 (Вт) 9:43

Обломись, чел - юзерские типы не добавляются в коллекции :(
Последний раз редактировалось GSerg 25.05.2004 (Вт) 9:44, всего редактировалось 2 раз(а).
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

Сообщение Ruslan Demidow » 25.05.2004 (Вт) 9:44

Ок. Спасибо за ответ.
Ещё вопрос: есть ли альтернативный способ найти запись в массиве, кроме как перебором элементов?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 25.05.2004 (Вт) 9:45

Предварительно всё отсортировать. Потом ручками искать бинарно.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 25.05.2004 (Вт) 9:47

А еще лучше сортировать с самого начала - добавление элементов будет несколько медленнее, но быстрее, чем сортировать сначала.
Пользовательские типы в коллекции не добавляются, но можно создать класс с нужными полями, и добавлять в коллекцию класс.
Lasciate ogni speranza, voi ch'entrate.

Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

Сообщение Ruslan Demidow » 25.05.2004 (Вт) 9:48

GSerg писал(а):Обломись, чел - юзерские типы не добавляются в коллекции :(

Вот и я про то же. :(
Пробовал - VB ругается на невозможность позднего связывания.
Пришлось использовать массивы - потому и вопрос задал - убедиться: не прогадал ли.
Хотя мне подсказывали, что можно использовать какую-то Си-шную библиотеку, с помощью которой можно как-то использовать в коллекциях типы записей (что-то связанное с TLB, или TBL, точно не помню).

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 25.05.2004 (Вт) 9:49

Через библиотеку типов по любому будет медленнее, чем любой другой способ.
Lasciate ogni speranza, voi ch'entrate.

Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

Сообщение Ruslan Demidow » 25.05.2004 (Вт) 10:32

Ок. Спасибо всем за ответы ещё раз.
Думаю тему можно считать закрытой.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5

    TopList  
cron