Стабильна ли сортировка в Ruby?
Являетсяsort
в Ruby стабильно? То есть для элементов, которые в галстуке дляsort
Сохраняется ли относительный порядок среди них от исходного порядка? Например, учитывая:
a = [
{id: :a, int: 3},
{id: :b, int: 1},
{id: :c, int: 2},
{id: :d, int: 0},
{id: :e, int: 1},
{id: :f, int: 0},
{id: :g, int: 1},
{id: :h, int: 2},
]
это гарантировано, что мы всегда получаем за
a.sort_by{|h| h[:int]}
следующие
[
{id: :d, int: 0},
{id: :f, int: 0},
{id: :b, int: 1},
{id: :e, int: 1},
{id: :g, int: 1},
{id: :c, int: 2},
{id: :h, int: 2},
{id: :a, int: 3},
]
без каких-либо изменений для относительного порядка среди элементов с:id
значение ,:d
:f
и среди,:b
:e
:g
и среди,:c
:h
? Если это так, то где в документации это описано?
Этот вопрос может иметь или не иметь отношение кэтот вопрос.