На нем изображены три точки в первом столбце: точка 17 имеет координаты (0,2), точка 538 имеет координаты (0,5), а точка 1053 имеет координаты (0,126). Во втором столбце у нас две точки, а в третьем — ни одной. Точку с координатами (i, j) можно найти с помощью следующего кода:
for (р = colhead[i], р != NULL; р = p->next) if p->row -- j
return p->pointnum
return -1
В худшем случае для поиска элемента потребуется проверка 200 узлов, а в среднем — всего десяти.
В этой структуре используется массив из 200 указателей и 200 записей, каждая из которых содержит целое и два указателя. Приложение 3 говорит нам, что указатели займут 800 байт. Если мы выделим память под записи как под массив с 2000 элементов, каждая из них займет 12 байт памяти, а все вместе они займут 24 800 байт. Если бы мы воспользовались функцией malloc, описанной в этом приложении, на каждую запись приходилось бы 48 байт, поэтому структура выросла бы в объеме от 80 до 96,8 Кбайт.
Опубликовал vovan666
April 17 2013 00:01:37 ·
0 Комментариев ·
3998 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.