555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
|
1 | |
Поменять местами два элемента двусвязного списка и удалить из него указанный элемент29.11.2014, 22:05. Показов 15092. Ответов 16
Метки нет (Все метки)
Дан двусвязный список. Требуется напечатать исходный список. Поменять местами два элемента списка путём перецепления ссылок на узлы списка, номера которых введёт пользователь с клавиатуры. Удалить элемент списка, номер которого введёт пользователь с клавиатуры. Напечатать получившийся список.
Добавлено через 22 часа 38 минут
Сообщение от Nosey
Давай. Спасибо за код. Я сломал swap с первого раза. Попробуйте ввести размер списка 5 и поменять местами первый и второй элемент списка. Надо реализовать проверку на выход за границы списка, а то будет плохо...
0
|
29.11.2014, 22:05 | |
Ответы с готовыми решениями:
16
Поменять местами два элемента двусвязного списка Поменять местами два элемента односвязного списка Удалить элемент из середины двусвязного списка Удалить элемент в конце двусвязного списка |
1379 / 406 / 144
Регистрация: 22.10.2014
Сообщений: 872
|
||||||
29.11.2014, 22:37 | 2 | |||||
Сообщение было отмечено Dennis Ritchie как решение
Решение
Dennis Ritchie,
1
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
|
29.11.2014, 22:53 [ТС] | 3 |
Nosey, а попробуйте пройти любимый тест моего препода. Размер списка равен 2, а поменять нужно нулевой и первый элемент списка.
0
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
||||||
06.12.2014, 08:40 [ТС] | 4 | |||||
И можно ещё напечатать все элементы списка в обратном порядке?
0
|
шКодер самоучка
|
||||||
07.12.2014, 02:06 | 5 | |||||
Сообщение было отмечено Dennis Ritchie как решение
Решение
1
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
||||||
13.12.2014, 14:29 [ТС] | 6 | |||||
Объясните, пожалуйста, что значит эта часть кода:
И что значит именно эта строка:
0
|
шКодер самоучка
|
||||||
13.12.2014, 15:24 | 7 | |||||
Dennis Ritchie,
1
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
|
20.12.2014, 04:35 [ТС] | 8 |
Cra3y, а можно заменить конструктор на что-нибудь более простое?
И ещё программа удаляет один элемент из списка, когда переменная c = 5, first = 2 и last = 3 или при c = 15, first = 1 и last = 2.
0
|
шКодер самоучка
|
||||||
20.12.2014, 05:16 | 9 | |||||
В смысле? ИМХО, проще не куда. можно только автоматическое обнуление указателей убрать и заполнять их ручками.
баг в функции paste_node, вроде пофиксил, проверьте
1
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
||||||
20.12.2014, 05:34 [ТС] | 10 | |||||
Да, теперь кажется всё.
Тогда препод начнёт завтра спрашивать: а что означает MineListNode(), а что означает двоеточие, а что означает next, а что означают фигурные скобочки {} и т. д. В общем, я не очень желаю отвечать на такие вопросы, ибо такими вопросами, как обычно, программу у меня не примут, пока не переделаю на что-нибудь более простое, т. е. без конструктора. Как-то так. Добавлено через 4 минуты А что, если так сделать?
0
|
шКодер самоучка
|
|||||||||||
20.12.2014, 05:45 | 11 | ||||||||||
Dennis Ritchie, а там то же самое что и в строке 24
в 9й строке, тот же самый прием
только инициализируется параметром конструктора
0
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
||||||
20.12.2014, 05:49 [ТС] | 12 | |||||
Где?
Добавлено через 3 минуты А тут как заменять, я не знаю...
0
|
шКодер самоучка
|
||||||
20.12.2014, 06:09 | 13 | |||||
оно не везде соберется http://ideone.com/P4s3E5
Но в С++11 по идее должно работать так же http://en.cppreference.com/w/c... ta_members Добавлено через 2 минуты
1
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
||||||
20.12.2014, 15:39 [ТС] | 14 | |||||
Cra3y, можете после смены местами элементов списка напечатать список в обратном порядке.
Добавлено через 16 минут Я написал такую функцию:
Добавлено через 2 часа 28 минут Cra3y, пожалуйста, можете помочь именно сейчас. Очень нужно.
0
|
шКодер самоучка
|
||||||
20.12.2014, 15:43 | 15 | |||||
пофиксил вроде
1
|
0 / 0 / 0
Регистрация: 01.03.2022
Сообщений: 2
|
||||||
01.03.2022, 16:08 | 16 | |||||
думаю, уже очень давно никто не заходил на эту тему, но... я ее нашел, и в общем использовал ваш код для лабы,
но спустя некоторое время, я решил, что хочу оптимизировать свап, я писал сам, все рабочее, все отлаженное, надеюсь кому-то это понадобится, еще возможно стоит админам добавить это как-то в тему со свапами единственное, что возможно стоит добавить, это проверку на одинаковость, и на пустой указатель, а так вообще, всё рабочее:
0
|
0 / 0 / 0
Регистрация: 01.03.2022
Сообщений: 2
|
||||||
10.05.2022, 23:25 | 17 | |||||
позже решил отказаться от дополнительной функции swapPointers(...) и решил написать максимально сжатый код, без лишнего:
0
|
10.05.2022, 23:25 | |
10.05.2022, 23:25 | |
Помогаю со студенческими работами здесь
17
Как из двусвязного списка удалить заданный элемент Если все элементы «двусвязного списка» отрицательны, то удалить элемент «стека» Поменять местами два элемента массива, равноудалённых от элемента с заданным номером Поменять местами первый элемент первого списка с последним элементом второго списка Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |