34 lines
1.0 KiB
Markdown
34 lines
1.0 KiB
Markdown
[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)
|