# Check if a sorting algorithm is stable

**URL:** https://discourse.julialang.org/t/check-if-a-sorting-algorithm-is-stable/96536
**Category:** General Usage
**Created:** [March 23, 2023, 9:05pm UTC](https://discourse.julialang.org/t/check-if-a-sorting-algorithm-is-stable/96536 "2023-03-23T21:05:05Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![jar1](https://avatars.discourse-cdn.com/v4/letter/j/c0e974/32.png) [@jar1](https://discourse.julialang.org/u/jar1)
#### Post date: [March 23, 2023, 9:05pm UTC](https://discourse.julialang.org/t/check-if-a-sorting-algorithm-is-stable/96536/1 "2023-03-23T21:05:05Z")

</div>

Say I want to know if the default float sorting algorithm is stable. How can I check?

```julia
julia> Base.Sort.defalg(rand(3))
Base.Sort.MissingOptimization(
    Base.Sort.BoolOptimization(
        Base.Sort.Small{10}(
            Base.Sort.InsertionSortAlg(),
            Base.Sort.IEEEFloatOptimization(
                Base.Sort.IsUIntMappable(
                    Base.Sort.Small{40}(
                        Base.Sort.InsertionSortAlg(),
                        Base.Sort.CheckSorted(
                            Base.Sort.ComputeExtrema(
                                Base.Sort.ConsiderCountingSort(
                                    Base.Sort.CountingSort(),
                                    Base.Sort.ConsiderRadixSort(
                                        Base.Sort.RadixSort(),
                                        Base.Sort.Small{80}(
                                            Base.Sort.InsertionSortAlg(),
                                            Base.Sort.ScratchQuickSort(missing, missing,
                                                Base.Sort.InsertionSortAlg()))))))),
                    Base.Sort.StableCheckSorted(
                        Base.Sort.ScratchQuickSort(missing, missing,
                            Base.Sort.InsertionSortAlg())))))))

```

---

<div class="post-metadata">

### Author: ![gdalle](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gdalle/32/27854_2.png) [@gdalle](https://discourse.julialang.org/u/gdalle)
#### Post date: [March 23, 2023, 9:33pm UTC](https://discourse.julialang.org/t/check-if-a-sorting-algorithm-is-stable/96536/2 "2023-03-23T21:33:26Z")

</div>

According to [the `sort` docstring](https://docs.julialang.org/en/v1/base/sort/#Base.sort!), “`QuickSort` is used by default for numeric arrays”. According to [the `QuickSort` docstring](https://docs.julialang.org/en/v1/base/sort/#Base.Sort.QuickSort), it is not stable. Does that answer your question?
