2009-03-04 1 views
11

Я не мог найти окончательного ответа на этот вопрос.Является std :: list <> :: sort stable?

Я полагаю, что большинство вариантов реализации используют сортировку слияния, которая является стабильной, но является ли стабильность требованием или побочным эффектом?

ответ

23

C++ стандарт ISO/IEC 14882: 2003 говорит:

23.2.2.4/31

Примечания: Stable: относительный порядок эквивалентных элементов сохраняется. Если выбрано исключение, то порядок элементов в списке не определен.

+3

+1. SGI и Stroustrup являются правильными, но не «окончательным ответом». ISO 14882. – MSalters

+0

+1 - добро пожаловать в stackoverflow :) –

+0

Только отличные ответы, но я признаю, что это самое лучшее. ;) –

10

По данным "Язык программирования C++" (Страуструп P470), да, СТЛ :: Список <> :: сортировать стабильно.

+0

Цитата из источника: +1 – dalle