Hi,
Im trying to understand the partial quicksort algorithm. I expected it work so that if I specify alg=PartialQuickSort(3)
the algorithm sorts so that indexes 1,2,3 contains the smallest elements and the rest (4,…,n) is in unspecified order. I just tried the algorithm and the results are the following:
julia> arr = rand(10)
10-element Array{Float64,1}:
0.0771121
0.375159
0.537209
0.0500928
0.578713
0.156671
0.829953
0.552534
0.81353
0.804142
julia> ps = sort(arr, alg=PartialQuickSort(3))
10-element Array{Float64,1}:
0.0500928
0.0771121
0.156671
0.375159
0.537209
0.552534
0.578713
0.804142
0.81353
0.829953
julia> sort(arr, alg=PartialQuickSort(3)) == sort(arr)
true
Which is a little weird? Or is it? I expected it work like c++ STL function std::partial_sort - cppreference.com partial_sort
.