Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.86
Marinkin
0 / 0 / 0
Регистрация: 25.09.2010
Сообщений: 4
#1

Переместить элемент в конец списка и вывести указатели на первый и последний элементы - C++

11.12.2010, 01:42. Просмотров 1850. Ответов 3
Метки нет (Все метки)

Помогите, пожалуйста! Прошу вас о помощи в написании программы на С++...
Задача такова:
Дан указатель P0 на один из элементов непустого двусвязного списка. Переместить данный элемент в конец списка и вывести указатели на первый и последний элементы преобразованного списка. Операции выделения и освобождения памяти не использовать
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2010, 01:42     Переместить элемент в конец списка и вывести указатели на первый и последний элементы
Посмотрите здесь:

Переместить данный элемент в конец двусвязного списка и вывести указатели на первый и последний элементы C++
C++ Поменять местами первый и последний элементы списка и удалить их средне арифметическое
Переместить нулевые элементы в конец массива C++
C++ Надо удалить n-ный элемент списка, при том, что он не первый и не последний
C++ Поменять местами первый и последний элементы непустого списка
Строки. Как найти в слове первый элемент? Второй элемент, последний элемент? C++
C++ Создать динамический список, поменять местами последний и первый элементы списка, предпоследний и второй и т.д.
C++ Задача Иосифа Флавия. Удалить каждый второй элемент из списка и в конце вывести на экран последний оставшийся элемент
Отрицательные элементы массива переместить в конец C++
C++ В непустом динамическом списке последний элемент переместить в начало списка
Найти первый и последний нулевые элементы заданного массива и вывести их индексы C++
C++ Вывести содержимое списка в следующем порядке: первый элемент, последний элемент, второй элемент, предпоследни

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Eliont
2 / 2 / 0
Регистрация: 10.12.2010
Сообщений: 29
11.12.2010, 12:37     Переместить элемент в конец списка и вывести указатели на первый и последний элементы #2
Есть указатели на структуры в конце и где-то внутри списка
У этих структур есть по два указателя - prev(предыдущий) и next(следующий).
Также есть указатели current - текущий(и перемещаемый) элемент и last - конец списка.

Можно рассматривать список как цепочку бусин с зажимами на полюсах.

1) перебрасываешь указатели соседних с перемещаемым элемента, так что они начинают указывать через него.
C++
1
2
3
                        
current->prev->next = current->next;//перебрасываение указателей
current->next->prev = current->prev;//через элемент для выключения его из цепи
2) Прицепляешь вытащенную "бусину" в конец.
C++
1
2
3
4
current->next = 0;//конец списка
current->prev = last;//бывший конец - предыдущий для этого
last->next = current;//ссылка на текущий
last = current;//теперь он - последний
Marinkin
0 / 0 / 0
Регистрация: 25.09.2010
Сообщений: 4
13.12.2010, 13:44  [ТС]     Переместить элемент в конец списка и вывести указатели на первый и последний элементы #3
Не получается у меня написать, я даже не знаю что куда вставлять и что за чем идет...
Eliont
2 / 2 / 0
Регистрация: 10.12.2010
Сообщений: 29
14.12.2010, 11:04     Переместить элемент в конец списка и вывести указатели на первый и последний элементы #4
Гм, ну тогда тебе в учебники за теорией или гугл по запросу "c++ списки" (за ней же).
А потом возвращайся ^_o и поробуй ещё раз.
Yandex
Объявления
14.12.2010, 11:04     Переместить элемент в конец списка и вывести указатели на первый и последний элементы
Ответ Создать тему
Опции темы

Текущее время: 01:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru