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

Поменять местами два элемента односвязного списка - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вычислить вложенный 33 раза квадратный корень http://www.cyberforum.ru/cpp-beginners/thread1307105.html
S=\sqrt{3+\sqrt{6+\sqrt{9+...\sqrt{99}}}} подскажите как сделать? Массивы при решении задач не используются.
C++ Как вместо char* использовать vector<string>? Здравствуйте, можете объяснить, как это сделать или проще привести какой-нибудь пример, чтобы стало понятно, как это применить к своей программе. http://www.cyberforum.ru/cpp-beginners/thread1307092.html
Задан массив из k символов. Преобразовать массив следующим образом: расположить символы в обратном порядке C++
Задан массив из k символов. Преобразовать массив следующим образом: расположить символы в обратном порядке. Только начали изучать С++, пропустила тему, теперь не могу разобраться... Помогите, пожалуйста...
Функция для вычисления следа матрицы и произведения матриц C++
Дан ряд квадратных матриц A, {A}^{2}, ..., {A}^{N}. Причем N вводим сами. Надо вычислить след(сумма элементов на главной диагонали) каждой матрицы и вывести на экран. Использовать две функции: вычисляющую след матрицы, вычисляющую произведение матриц. Например: Матрица А: 2 2 2 2 След: 2+2=4 Матрица {A}^{2}(т.е. умножаем матрицу саму на себя): 2 2 2 2 12 12 2 2 2 2 12 12...
C++ Прерывание цикла, через клавишу Esc http://www.cyberforum.ru/cpp-beginners/thread1307069.html
Мне нужно в прервать цикл при нажатии клавиши Esc. Делаю через getch(). Все работает, но есть одна проблема, в каждом прогоне цикла нужно 2 раза вводить один и тот же элемент массива, чтобы в 1-ый раз проверялся getch, а во второй это элемент вносился в массив. Как убрать это? Но при этом сохранить проверку на Esc. Код: #include <iostream> #include <conio.h> using namespace std;
C++ Что означают переменные в моей программе? Что означает строчка в программе Data=сh+data, а точнее , что такое ch? подробнее

Показать сообщение отдельно
Kuzia domovenok
 Аватар для Kuzia domovenok
1886 / 1741 / 117
Регистрация: 25.03.2012
Сообщений: 5,910
Записей в блоге: 1
22.11.2014, 11:02     Поменять местами два элемента односвязного списка
Цитата Сообщение от Nosey Посмотреть сообщение
Так вот, вы только представьте глаза преподавателя который увидит девочку божий-одуванчик рассказывающую что она накатала шаблон листа
как-бэ преподаватель ей это и задал. Хотел бы препод увидеть банальное swap(a,b) - никакой бы "задачи" из этого не выросло. В этом и суть изучения списков - программист должен понимать их настолько, чтобы самому ими пользоваться легко было.
+ ты преувеличиваешь сложность списков. В школьном курсе Си они изучаются не более чем через полгода после начала изучения программирования с полного нуля.
+ возвращаясь к тому, что программист должен понимать списки. У списков, в отличие от массивов, есть очень важное свойство. В них операции вставки и удаления никогда не приводят к появлению недействительных итераторов, указателей и ссылок (если они не относятся к удаляемым элементам). В общем случае операции вставки и удаления в блоковых контейнерах(массивах, векторах...) могут привести к тому, что все итераторы, указатели и ссылки станут недействительными. А в списках - нет. Твоя идея со свапом всё это портит!

Добавлено через 2 минуты
Цитата Сообщение от Nosey Посмотреть сообщение
И я что-то не понимаю, где же копирование при свапе?
тута
Цитата Сообщение от Nosey Посмотреть сообщение
std::swap(*data1, *data2);
 
Текущее время: 07:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru