[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Smarter Sort
From: |
Søren Hauberg |
Subject: |
Re: Smarter Sort |
Date: |
Thu, 25 Aug 2005 15:57:53 +0200 |
User-agent: |
Mozilla Thunderbird 1.0.6 (X11/20050818) |
Hi,
I haven't thought this through so there's a pretty good chance all I'm
saying is nonsense, but here goes...
I'd start out by creating a vector containing the numbers you want to
sort by, i.e. (assuming your cell array is called C)
for i = 1:length(C)
A(i) = str2num(C({i}); # This is not good enough
endfor
then call sort with an extra output argument:
[XXX, idx] = sort(A);
And finally sort your cell array using idx,
C = C{idx};
Don't know if it works, but it might get you started,
Søren
Bill Denney wrote:
I'm wanting to sort cell arrays of chars in a smart way. Essentially,
I'd like to do something like:
A3B10
A3B9
A10
A1
A2
becomes
A1
A2
A3B9
A3B10
A10
so that it will sort the numeric portions intelligently. Does anyone
have a routine that will do that or is there a built-in sort that I
don't know of?
Thanks,
Bill
-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.
Octave's home on the web: http://www.octave.org
How to fund new projects: http://www.octave.org/funding.html
Subscription information: http://www.octave.org/archive.html
-------------------------------------------------------------