![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() |
Neonig |
![]()
Сообщение
#1
|
|||
Новичок ![]() Группа: Пользователи Сообщений: 25 Пол: Мужской Репутация: ![]() ![]() ![]() |
Помогите разобраться с заданием пожалуйста.
Вот по этому адресу (адрес указан в приложенном файле) лежит задание для нас. Там правда сказано на С++ без ООП, но преподаватель сказал, что на НАМ нужно на чистом Си. В файле на сайте все написанное и приведены три задания: двусвязный линейный список, ассоциативный массив и динамический массив. В Листинге который я выложу дальше я по идеи реализовал первое задание - линейный список - очень прошу специалистов посмотреть и высказать замечания, где может не правильно, где недодумано, где ещё чего. Вторая просьба - это пояснить, как основываясь на интерфейсе списков сделать динамический массив (это всё в здании написано просто коротко напоминаю) и что из себя таки представляет этот ассоциативный массив в примитивной реализации... не прошу написать, прошу объяснить как на основе сделанного прийти ко всему остальному. С уважением
Сообщение отредактировано: klem4 - 23.09.2007 8:06 Прикрепленные файлы ![]() |
|||
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Я не знаю, чего ждут от тебя в этом задании (какой смысл переписывать вручную уже готовые и намного более функциональные std::list, std::vector и std::map - я не понимаю), но могу привести основные различия между std::list и std::vector:
Цитата(С++ STL Tutorial) Список (std::list) отличается от динамического массива (std::vector) следующим: - список не предусматривает прямого доступа. Если Вам нужно получить доступ к 5-му элементу списка, Вы обязаны перед этим пройти по предшествующим ему 4-м элементам. Таким образом, доступ к элементу в списке замедляется; - вставка и удаление элементов производятся быстро в любой позиции, а не только с концов списка. Вы всегда можете удалить или добавить элемент за константное время, поскольку другие элементы при этом не должны перемещаться. Изменяются только несколько внутренних указателей. Теперь о массиве: Цитата(С++ STL Tutorial) - массив - это упорядоченная коллекция. К элементам массива возможен прямой доступ (random access). То есть, Вы можете обратиться к любому элементу массива за константное время; - массив обеспечивает наилучшее быстродействие при добавлении/удалении элементов с конца. При работе с началом/серединой массива быстродействие ухудшается. Это происходит потому, что следующие за удаленным/добавленным элементом должны быть сдвинуты в другую позицию. Если надо - могу написать, что представляет из себя map (ассоциативный массив) с точки зрения STL... |
![]() ![]() |
![]() |
Текстовая версия | 17.07.2025 15:04 |