Я не смог найти однозначного ответа на этот вопрос.
Я полагаю, что в большинстве реализаций используется сортировка слиянием, которая стабильна, но является ли стабильность требованием или побочным эффектом?
C ++ Стандарт ISO / IEC 14882: 2003 гласит:
23.2.2.4 / 31 Примечания: Стабильно: относительный порядок эквивалентных элементов сохраняется. Если выдается исключение, порядок элементов в списке не определен.
23.2.2.4 / 31
Примечания: Стабильно: относительный порядок эквивалентных элементов сохраняется. Если выдается исключение, порядок элементов в списке не определен.
Да, std :: list <> :: sort гарантированно будет стабильным.
См. http://www.sgi.com/tech/stl/List.html
Согласно «Языку программирования C ++» (Stroustrup p470), да, stl :: list <> :: sort стабильна.