Лидеры рейтинга

ID: 401284

Михаил Александров

Советник

376

Россия, Санкт-Петербург


ID: 259041

Алексеев Владимир Николаевич

Мастер-Эксперт

357

Россия, пос. Теплоозёрск, ЕАО


ID: 401888

puporev

Профессор

215

Россия, Пермский край


ID: 405338

vovaromanov.jr

1-й класс

125


ID: 400669

epimkin

Профессионал

111


ID: 242862

Hunter7007

Мастер-Эксперт

29

Россия, Омск


ID: 137394

Megaloman

Мастер-Эксперт

25

Беларусь, Гомель


8.10.2

13.10.2021

JS: 2.10.2
CSS: 4.6.0
jQuery: 3.6.0
DataForLocalStorage: 2021-10-20 22:46:01-standard


Создание программ на языках C и C++.

Администратор раздела: CradleA (Мастер-Эксперт)

Консультация онлайн # 108512

Раздел: С / С++
Автор вопроса: костин алексей викторович
Дата: 08.11.2007, 03:29 Консультация закрыта
Поступило ответов: 1

здравствуйте!очень нужна помощь: как перегруппировать элементы непустого двусвязного списка, без применения операций выделения и высвобождения памяти и не изменяя поля с данными?

Приложение:

Ответ # 192677 от Rockie
Здравствуйте, костин алексей викторович!
чтобы изменить список без применения операций в памяти и не изменяя поля с данными - используйте указатели. Двусвязный список - это набор узлов, каждый из которых имеет указатель на "следующий" и "предыдущий" элементы. Указатели в данном случае - это не поля с данными. Переставляя эти указатели, вы можете "перегруппировать" элементы списка. Вы не указали, каким именно образом нужно перегруппировать элементы. Скорее всего вам понадобится один временный указатель для того, чтобы менять пойнтеры местами. Например
Node* pNodeTemp = NULL;

О списках на С++ очень хорошо написано по этой ссылке(только там используется односвязный список, но есть метод для обращения к предыдущему элементу):
http://progs.biz/cpp/cpp/lessons/028.aspx

Также пример запроса в поиск:
http://www.google.md/search?hl=ru&q=%D0%B4%D0%B2%D1%83%D1%81%D0%B2%D1%8F%D0%B7%D0%BD%D1%8B%D0%B9+%D1%81%D0%BF%D0%B8%D1%81%D0%BE%D0%BA+C&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=

Rockie

Посетитель
08.11.2007, 11:50
Мини-форум консультации # 108512
Нет сообщений в мини-форуме
Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Лучшие эксперты раздела

Зенченко Константин Николаевич

Старший модератор

Рейтинг: 164

Gluck

8-й класс

Рейтинг: 60

Коцюрбенко Алексей Владимирович

Старший модератор

Рейтинг: 47

CradleA

Мастер-Эксперт

Рейтинг: 1

Лысков Игорь Витальевич

Мастер-Эксперт

Рейтинг: 0

Асмик Гаряка

Советник

Рейтинг: 0