Write a Matlab function that would arrange a series of numbers (i.e. a row vector) in a descending order. As an example, use the vector 2 15 50 3 8 11 5 29
how would i do this without using the sort cmd?
thanks in advance.
A bold version - hesitate to submit it except you can explain the "infinite monkey theorem" fluently:
x = [2, 15, 50, 3, 8, 11, 5, 29]; n = length(x); while ~issorted(x) x = x(randperm(n)); end
Beside the fact, that this requires a ZillionHz CPU to get finished in a bearable amount of time for larger input, it is short and clear. Unfortunately there is no guarantee, that this algorithm stops, such that it does not satisfy a strict definition of a program. But the question text did not demand a "program", but a "function". If you are able to explain the the difference from the viewpoint of coding theory, I'd accept this as a valid solution.