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

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

Войти
Регистрация
Восстановить пароль
 
kaffein
5 / 5 / 1
Регистрация: 14.11.2010
Сообщений: 121
#1

перестановка елементов списка - C++

02.03.2011, 22:03. Просмотров 526. Ответов 4
Метки нет (Все метки)

Всем доброго времени суток
У меня возник вопрос по двунаправленому списку!
есть такая функция
C++
1
 void per(list *n,list *m)
На вхо берет, например, 3 и 5 елемент списка, нужно переставить их местами
1 1
2 2
3 5
4 4
5 3
6 6
7 7
Помогите написать такую функцию

Добавлено через 49 минут
Я так понял там только указатели нужно поменять.....
Я уже стопку листиков изресовал, но так и не нашёл ответа
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.03.2011, 22:03     перестановка елементов списка
Посмотрите здесь:

Перестановка елементов масива - C++
Уважаемые форумчане помогите решить эту сложную задачу: Действительные векторы заданы X(x1,x2,..,x50) и Y(y1,y2,..,y50) превратить по...

Знаки елементов. - C++
Условие: Ввести с клавиатуры N элементов и проверить чередуются ли знаки. Если да , то вывести на экран "знаки одинаковые". Если...

Массив из n елементов - C++
Разбираю код пример из книги, и вот столкнулся с недопониманием фрагмента кодпервое понятно что для инициализвации массива а из н, но не...

Количество елементов массива - C++
Вчера тоже встретился с этой проблемой, но подумал что и так много у вас на форуме спрашиваю, так что не спросил... НО сегодня опять та...

Сумма отрицательных елементов - C++
Помогите перевести код с Паскаля в С++ Задание: Переменной S присвоить значения, которые равны сумме отрицательных елементов масива...

Удаления елементов из массива - C++
Народ есть такая задача: зделать массив из 50 случайных чисел из пормежутка А...В. Удалить из массива все його непарные елементы....

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт С++
4960 / 3036 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
02.03.2011, 22:25     перестановка елементов списка #2
Да, нужно поменять только указатели.
kaffein
5 / 5 / 1
Регистрация: 14.11.2010
Сообщений: 121
02.03.2011, 23:15  [ТС]     перестановка елементов списка #3
silent_1991, не подскажешь как ето зделать?????
silent_1991
Эксперт С++
4960 / 3036 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
02.03.2011, 23:51     перестановка елементов списка #4
Я так понимаю, на вход функции идут узлы списка? Если да, то менять так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Node *n_next = n->next;
Node *n_prev = n->prev;
Node *m_next = m->next;
Node *m_prev = m->prev;
 
m_next->prev = n;
n->next = m_next;
 
n_next->prev = m;
m->next = n_next;
 
n_prev->next = m;
m->prev = n_prev;
 
m_prev->next = n;
n->prev = m_prev;
Остаётся учесть случаи, когда один из элементов первый или последний (мне кажется, что там могут возникнуть исключительные ситуации из-за нулевых указателей, которые надо обработать отдельно, но утверждать не буду - хочется спать и уже лень проверять, так ли это).

Добавлено через 58 секунд
Ну а если не узлы, а значения в них, то надо сначала найти узлы n и m по этим значениям, а потом проделать данные операции.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.03.2011, 10:57     перестановка елементов списка
Еще ссылки по теме:

Удаление елементов вектора - C++
никак не могу разобраться с итераторами: Мне нужно удалить элемент ветора, для этого я пользуюсь функцией erase К примеру мне нужно...

Количество елементов у массиве - C++
Можно ли каким-то образом указать количество елементов массива через параметр?? int Array , где n - параметр.

Произведение елементов массива - C++
//в массиве состоящем из Н целочисленных елементов вычислить 1)сумму неотрицательных елементов этого массива //2)произведение елементов...

Замена елементов текста - C++
пишу програму на Borland C++ 3.01, и мне нужно считать информацию с файла, вывести её на екран. Ето я зделал... #include <iostream.h> ...


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

Или воспользуйтесь поиском по форуму:
kaffein
5 / 5 / 1
Регистрация: 14.11.2010
Сообщений: 121
03.03.2011, 10:57  [ТС]     перестановка елементов списка #5
silent_1991, спасибо большое за помощь Уже завтра буду розбиратся.....

Добавлено через 10 часов 33 минуты
всё розобрал ))))) Я не мог решить это задание , потому что не додумался создать
Node *n_next
Node *n_prev
Node *m_next
Node *m_prev
так всё работает
Yandex
Объявления
03.03.2011, 10:57     перестановка елементов списка
Ответ Создать тему
Опции темы

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