Почему обратная функция для класса std::list
в стандартной библиотеке С++ имеет линейное время выполнения? Я бы подумал, что для двусвязных списков обратная функция должна быть O (1).
Обращение к двусвязному списку должно включать только переключение головы и указателей на хвост.