0 / 0 / 2
Регистрация: 09.10.2012
Сообщений: 32
|
|||||||||||||||||||||
1 | |||||||||||||||||||||
Односвязнай список на статическом массиве05.12.2012, 20:54. Показов 4285. Ответов 21
Метки нет (Все метки)
В общем, застряла.
Задание звучит так: Элементы ОЛС находятся в массиве MemList, расположенном в статической памяти. Базовый тип зависит от задачи. «Свободные» элементы массива объединяются в список, на начало которого указывает поле-указатель первого элемента массива. Выделение памяти под информационную часть элемента ОЛС и запись в неё значения происходит при выполнении процедуры PutList. При выполнении процедуры GetList память, занимаемая элементом, освобождается. Что есть на данный момент: файл list.h
Собственно, совершенно запуталась в указателях. 1. Указатель на эллемент массива - просто индекс? То есть на первый эллемент структуры указатель будет
2. Вот, например, включение эллемента - memlist[0].next - указывает на поле data. Как обратиться к полю next через него? Если есть общие рекомендации по реализации - с радостью выслушаю. На этом списке будут реализованы еще очередь и стек. Добавлено через 2 часа 32 минуты А да, еще вопрос: Как через указатель обратиться к эллементу структуры? В Керниган-Ричи есть глава, посвященная этому, но там черт ногу сломит, во всяком случае, я не разобралась Добавлено через 21 час 18 минут И еще такой вопрос: можно ли под структуру List выделить память таким образом:
0
|
05.12.2012, 20:54 | |
Ответы с готовыми решениями:
21
Стек на статическом массиве Мусор в строковом статическом массиве C++ Как представиь очередь, состоящую из структур, на статическом массиве? Освобождение памяти из под Объектов в статическом массиве указателей |
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
05.12.2012, 20:58 | 2 |
Список по определению динамический. Кроме того, список не может быть и на динамическом массиве, так как в нём каждый следующий элемент должен быть доступен только через предыдущий, а добавление/удаление элемента должно гарантированно не затрагивать адреса размещения остальных элементов. Иначе это не список. Вот массив можно сделать на списке. Но не наоборот. И только динамический. Элементы массива можно дополнительно связать указателями на соседей, как в списке, но список и тогда будет не зависим от массива.
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
05.12.2012, 21:01 | 3 |
Элементы массива можно дополнительно связать указателями на соседей, как в списке, но список и тогда будет не зависим от массива.
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
05.12.2012, 21:01 | 4 |
Элементы массива можно дополнительно связать указателями на соседей, как в списке, но список и тогда будет не зависим от массива.
0
|
0 / 0 / 2
Регистрация: 09.10.2012
Сообщений: 32
|
|
05.12.2012, 21:02 [ТС] | 5 |
Интерфейс был дан изначально. Реализовывать надо именно на этом интерфейсе.
0
|
0 / 0 / 2
Регистрация: 09.10.2012
Сообщений: 32
|
|
05.12.2012, 21:03 [ТС] | 6 |
Интерфейс был дан изначально. Реализовывать надо именно на этом интерфейсе.
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
05.12.2012, 21:03 | 7 |
Можно элементы массива внести ещё и в список, но список всё равно будет не зависим от массива.
0
|
0 / 0 / 2
Регистрация: 09.10.2012
Сообщений: 32
|
|
05.12.2012, 21:03 [ТС] | 8 |
Интерфейс был дан изначально. Реализовывать надо именно на этом интерфейсе.
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
05.12.2012, 21:03 | 9 |
Можно элементы массива внести ещё и в список, но список всё равно будет не зависим от массива.
0
|
0 / 0 / 2
Регистрация: 09.10.2012
Сообщений: 32
|
|
05.12.2012, 21:03 [ТС] | 10 |
Интерфейс был дан изначально. Реализовывать надо именно на этом интерфейсе.
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
05.12.2012, 21:04 | 11 |
Можно элементы массива внести ещё и в список, но список всё равно будет не зависим от массива.
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
05.12.2012, 21:04 | 12 |
Можно элементы массива внести ещё и в список, но список всё равно будет не зависим от массива.
0
|
0 / 0 / 2
Регистрация: 09.10.2012
Сообщений: 32
|
|
05.12.2012, 21:04 [ТС] | 13 |
Интерфейс был дан изначально. Реализовывать надо именно на этом интерфейсе.
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
05.12.2012, 21:05 | 14 |
Можно элементы массива внести ещё и в список, но список всё равно будет не зависим от массива.
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
05.12.2012, 21:05 | 15 |
Можно элементы массива внести ещё и в список, но список всё равно будет не зависим от массива.
0
|
0 / 0 / 2
Регистрация: 09.10.2012
Сообщений: 32
|
|
05.12.2012, 21:05 [ТС] | 16 |
Интерфейс был дан изначально. Реализовывать надо именно на этом интерфейсе.
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
05.12.2012, 21:05 | 17 |
Можно элементы массива внести ещё и в список, но список всё равно будет не зависим от массива.
0
|
0 / 0 / 2
Регистрация: 09.10.2012
Сообщений: 32
|
|
05.12.2012, 21:06 [ТС] | 18 |
Интерфейс был дан изначально. Реализовывать надо именно на этом интерфейсе.
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
05.12.2012, 21:08 | 19 |
То есть список из элементов массива, но не на массиве.
0
|
0 / 0 / 2
Регистрация: 09.10.2012
Сообщений: 32
|
|
05.12.2012, 21:11 [ТС] | 20 |
Ну я так поняла:
есть структура - List. Это дескриптор списка. В нем хранится указатель на первый элемент и на текущий + длина списка. Есть массив структур(элементов). Они связаны друг с другом указателями - те, которые принадлежат списку. Это я и пыталась реализовать. Где не так, в объявлениях, или в я их использую неправильно?
0
|
05.12.2012, 21:11 | |
05.12.2012, 21:11 | |
Помогаю со студенческими работами здесь
20
Размещение данных в статическом массиве байтов фиксированной размерности с контролем переполнения Webbrowser в статическом методе. Объект в статическом методе Ошибки в статическом классе Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |