Sorting¶ ↑
Contents:
Heapsort¶ ↑
-
GSL::Vector#heapsort
-
GSL::Vector::Complex#heapsort
-
GSL.heapsort(v)
These method sort the elements of the vector
selfusing the comparison function given by a block, and return the result as a new vector object. The vectorselfis not changed.Example: Sorting a complex vector in ascending order by magnitudes.
p v.heapsort { |a, b| a.abs <=> b.abs }
-
GSL::Vector#heapsort!
-
GSL::Vector::Complex#heapsort!
-
GSL.heapsort!(v)
These method sort the elements of the vector
selfin-place.
-
GSL::Vector#heapsort_index
-
GSL::Vector::Complex#heapsort_index
-
GSL.heapsort_index(v)
These method indirectly sort the elements of the vector
selfusing the comparison function given by a block, and return the result as a permutation object. The vector itself is not changed.
Sorting vectors¶ ↑
-
GSL::Vector#sort!
This method sorts the elements of the vector
selfinto ascending numerical order. The vector itself is changed.
-
GSL::Vector#sort
This returns a new vector whose elements are sorted into ascending numerical order. The vector
selfis not changed.
-
GSL::Vector#sort_index
This method indirectly sorts the elements of the vector
selfinto ascending order, and returns the result as aGSL::Permutationobject. The elements of the returned permutation give the index of the vector element which would have been stored in that position if the vector had been sorted in place. The first element of the permutation gives the index of the least element inself, and the last element of the permutation gives the index of the greatest element inself. The vectorselfis not changed.
Selecting the k smallest or largest elements¶ ↑
-
GSL::Vector#sort_smallest(k)
-
GSL::Vector#sort_largest(k)
These functions return a new vector of the
ksmallest or largest elements of the vectorself. The argumentkmust be less than or equal to the length of the vectorself.
-
GSL::Vector#sort_smallest_index(k)
-
GSL::Vector#sort_largest_index(k)
These functions return a new
GSL::Permutationobject of the indices of theksmallest or largest elements of the vectorself.kmust be less than or equal to the length of the vector.