This is the next step up from Problem 42811.
Given a vector, v, of real numbers (negative or positive), return a vector, w, by sorting v in ascending order, such that primary sorting is done by the first digit (representing the largest value), secondary sorting by the second digit (next largest value), and so on.
Example:
v = [14.38 80.42 3.14 268 -14.38 210 1 80.44];
w = [1 -14.38 14.38 210 268 3.14 80.42 80.44];
As shown above, in cases of multiple numbers starting with the same digits, such as 1 and 14.38, shorter numbers take precedence.
Negative numbers take precedence over positive numbers.
Solution Stats
Problem Comments
Solution Comments
Show commentsProblem Recent Solvers57
Suggested Problems
-
1535 Solvers
-
Find a subset that divides the vector into equal halves
401 Solvers
-
Rotate input square matrix 90 degrees CCW without rot90
682 Solvers
-
Given a matrix, swap the 2nd & 3rd columns
1263 Solvers
-
Find my daddy long leg (No 's')
2725 Solvers
More from this Author45
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!