[algorithm.stable]

# 16 Library introduction [[library]](./#library)

## 16.4 Library-wide requirements [[requirements]](requirements#algorithm.stable)

### 16.4.6 Conforming implementations [[conforming]](conforming#algorithm.stable)

#### 16.4.6.8 Requirements for stable algorithms [algorithm.stable]

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/lib-intro.tex#L3742)

When the requirements for an algorithm state that it is âstableâ without further elaboration,
it means:

- [(1.1)](#1.1)

  For the sort algorithms the relative order of equivalent
elements is preserved[.](#1.1.sentence-1)

- [(1.2)](#1.2)

  For the remove and copy algorithms the relative order of
the elements that are not removed is preserved[.](#1.2.sentence-1)

- [(1.3)](#1.3)

  For the merge algorithms, for equivalent elements in
the original two ranges, the elements from the first range (preserving their
original order) precede the elements from the second range (preserving their
original order)[.](#1.3.sentence-1)
