требуется ли замена следующих указателей узлов?
Да, это необходимо, поскольку исходные узлы располагаются в разных позициях списка.
Поменяет ли местами текущий обмен следующие указатели?
Да, поменять текущие узлы не поменяет местами следующие указатели.Замена текущих узлов означает только замену только указателей, которые указывают на текущие узлы.
Рассмотрим, например, список
| A |next B| -> | B |next C| -> | C |next D| -> | D |next nullptr|
, и давайте предположим, что вам нужно поменять местами узлы B и D. Тогда вы
---------------------
| |
| A |next D| ... | B |next C| -> | C |next B| ... | D |next nullptr|
| |
----------------------------------------------
Таким образом, после первой замены узла A точка указывает на узел D, а узел D "указывает" на nullptr.Узлы B и C будут потеряны, если не поменять местами их элементы данных.
Таким образом, вам также необходимо поменять их элементы данных следующим
--------------------------
| |
| A |next D| ... | B |next nullptr| | C |next B| ... | D |next C|
| |
---------------------------------------------------
, и в результате вы получите
| A |next D| -> | D |next C| -> | C |next B| -> | B |next nullptr|