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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как выглядит в си++ http://www.cyberforum.ru/cpp-beginners/thread251247.html
Program pravii; uses crt; var i,n:integer; a,b,h,x,xb,s:real; function f(x:real):real; begin f:=(1/x)*sin(3.14*x/2); end; begin clrscr; write('Введите '); readln(a); write('Введите '); readln(b); write('Введите '); readln(n);
C++ Чтение/запись бинарного файла Надо проверить корректно ли работает стек. #include "stack.h" #include <fstream> #include <iostream> using namespace std; int main() { http://www.cyberforum.ru/cpp-beginners/thread251244.html
доклад C++
проверьте пожалуйста текст моего доклада с программой. я без рамы что здесь так а что нет. Завданням моєї курсової роботи була задача, що обчислює загальну кількість рядків з розширенням пас и спп в даному каталозі. Основною проблемою було те, що треба було знайти відмінність файлу від каталогу, а потім вже прочитати по кускам цей файл, розмір якого ми знаємо. Також проблемою було те,...
C++ переобьявление
Есть 3 файла. main.cpp #include <conio.h> #include "myiostream.h" using namespace my; int main() { int c=13;
C++ Сумма ряда http://www.cyberforum.ru/cpp-beginners/thread251220.html
Пожалуйста помогите написать программу для вычисления суммы ряда sinx= x-(x^3/3!)+(x^5/5!)-(x^7/7!)..... с заданной точностью, используя рекуррентные соотношения. Помогите кто может ПОЖАЛУЙСТА))))
C++ Работа с файлами. Чтение из файла.Поиск. Нужно создать программу, которая считывает слова с одного файла (словарь) и находит эти слова в другом файле (текст) и выводит на экран эти слова. В качестве примера можно хоть 1 слово в словаре и в тексте. Буду очень благодарен, спасибо. подробнее

Показать сообщение отдельно
silent_1991
Эксперт С++
4963 / 3039 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
02.03.2011, 23:51
Я так понимаю, на вход функции идут узлы списка? Если да, то менять так:
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 по этим значениям, а потом проделать данные операции.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru