Нужна помощь в написании кода. Есть двусвязный список. Нужно сделать сортировку не трогая данные, а перенаправляя указатели. Задачу немного усложнили. Узел описан не в структуре, а в шаблонном классе, то есть к полям напрямую нет доступа, но есть геттеры и сеттеры
template<class T>
class Node
{
T data;
Node<T>* next = nullptr;
Node<T>* prev = nullptr;
public:
Node(T val);
Node<T>* getNext()const;
Node<T>* getPrev()const;
T getData()const;
void setNext(Node<T>* val);
void setPrev(Node<T>* val);
void setData(T val);
};
Какие и сколько нужно дополнительных переменных для реализации данной задачи? И есть ли материал какой-то, чтобы почитать? Со структурой материала очень много, а вот с классом ничего не нашел. Да и с перенаправлением указателей не густо информации. Чаще просто свопают дату(