QUICKSORT allows the user to sort by any desired criteria. The user passes the data and a comparison function to the QUICKSORT and QUICKSORT returns an indexing vector sorted based on the comparison function.
The comparison function may be an inline function or a function handle. Function handles are an order of magnitude faster than inline functions. I use the TMP_HANDLE utility for creating temporary function handles in MATLAB 6.
QUICKSORT is implemented in m-code and uses a modified quicksort algorithm which sorts by "less than", "equal to" and "greater than". It is much slower than the builtin sort function, but also much more flexible.
Nathan Thern (2021). Generalized Sorting (https://www.mathworks.com/matlabcentral/fileexchange/6756-generalized-sorting), MATLAB Central File Exchange. Retrieved .
I used the quicksort function with a cellarray of objects and a comparison-function that compared a specific attribute of the objects. It worked nicely. I like how the source array is not touched but a list of indices is returned instead.
This function uses two arguments instead of one (a 1xn vector). Complicated if you just want to sort a simple vector.
Thank you very much!
if it "doesnt work", maybe its just you who couldnt use it... have you read the comments in m file?
Thans, it works perfectly.
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!