repeat(10) { var i for (i=0;i<32000;i+=1) { array [i]="GcUP" } game_end() }
noTformaT, ну не знаю... Тесты провёл, резы предоставил)) Тем не мение преимущества списка перед массивом на лицо - удобство и т. д. Мне напр постоянно нужно знать размер эээ контейнера данных, в массиве приходится юзать цикл, перебирать всю матрицу, а в списке - одна функция и готово) Надо провести более серьёзные тесты...
Тем не мение преимущества списка перед массивом на лицо - удобство и т. д. Мне напр постоянно нужно знать размер эээ контейнера данных, в массиве приходится юзать цикл, перебирать всю матрицу, а в списке - одна функция и готово) Надо провести более серьёзные тесты...
Массивы и ассоциативные массивы используются для разных вещей. Вторые используются для более абстрактной формы записи данных. Например
my_home = {'street': ленина, 'number': 23, 'count': 3, 'data_build': 10.20.1990}
Писал на питоне так как работаю на нем. В данном случае у нас есть инкапсулированные данные, со следующими ключами и значениями: улица - ленина дом - 23 кол.жильцов - 3 дата постройки - 10.20.1990
Как видно очень удобно...
в случае с массивом нам надо было бы писать свой алгоритм выборки данных из массива [ 'ленина', 23,3, 10.20.1990], да и не во всех яп есть не типизированные яп. @noTformaT
lumennes, от игры еще зависит. Сделать сервер на с++ труднее, да и учить его тяжелее. Это пока пишешь демо, все круто, а потом, когда потребуется физика - будет фейл. Если сделать обработку коллизий у клиентов - будет море хакеров
Конечно, массивы обрабатываются быстрее динамических структур, по-моему, это очевидно, если знаешь, как они устроены.
Quote (AGENTX001)
Тем не мение преимущества списка перед массивом на лицо - удобство и т. д.
По-моему, наоборот, это массив использовать гораздо удобнее - он полностью перед тобой, бери любую ячейку и оперируй с ней. А в списке, чтобы взять какую-нибудь ячейку, нужно "листать" этот список. Список одним концом - вообще ужас... Однако преимущество списков - память выделяется динамически, ячейки в памяти могут быть разбросаны как угодно. А для массива ещё перед началом работы программы (или процедуры) выделяется память, и при том монолитная, без разрывов. Хотя ещё есть динамические массивы, их можно растягивать и сжимать... Короче, для они разных целей.
На счёт сервера - я тут давненько видел тему, там кто-то уже писал сервер для GM-игры, на Delphi... не знаю, как получилось...
Quote (AGENTX001)
Ну портируй мне под яву 39dll?
Так ведь 39dll - это обычная библиотека же? Динамические библиотеки могут подключаться к программе на любом языке программирования... Однако нужно иметь заголовочный файл, в котором описаны все экспортируемые функции библиотеки, вот этот файл как раз для каждого языка свой...
Quote (AGENTX001)
у меня для делфи есть
Ну если и Delphi, и Java хорошо знаешь, то что тебе мешает переписать заголовочный файл с одного языка на другой? Или хотя бы нужные тебе функции.
А в списке, чтобы взять какую-нибудь ячейку, нужно "листать" этот список. Список одним концом - вообще ужас... Однако преимущество списков - память выделяется динамически, ячейки в памяти могут быть разбросаны как угодно. А для массива ещё перед началом работы программы (или процедуры) выделяется память, и при том монолитная, без разрывов.
Словари по своей структуре это хеш таблицы, там поиск выполняется по хешу, вернее имея хеш рассчитывается адрес ячейки через хеш-функцию. В словарях нет прогона по всем элементам, как например поиск в последовательном списке, или в стеке ))) В двух словах - словари это что то среднее между динамическим классом - dynamic class Object, и динамической записью.
Quote (TimKruz)
По-моему, наоборот, это массив использовать гораздо удобнее - он полностью перед тобой, бери любую ячейку и оперируй с ней.
А если это типизированный массив, то хранить в нем структуру дома (описана выше) становиться трудоемкой задачей.
Quote (TimKruz)
Так ведь 39dll - это обычная библиотека же? Динамические библиотеки могут подключаться к программе на любом языке программирования... Однако нужно иметь заголовочный файл, в котором описаны все экспортируемые функции библиотеки, вот этот файл как раз для каждого языка свой...
в том то прикол, что в джаве нет такого понятия как заголовочный файл, а так как это "песочная" технология, то использовать в ней сторонние длл практически не возможно ))) @noTformaT