How to sort one field of a structure based on the values of another field?

2 views (last 30 days)
Let's say I have a structure 'struct' with two fields 'field1' and 'field2'. The length of the fields is unknown, but could be maximum 6. Each element of 'field1' must be a letter from the set {a,b,c,d,e,f} with no repetitions of a letter. Is there any way I can sort the values of 'field2' according to 'field1' in alphabetical order. For example, if 'field1' = [d b f] and 'field2' = [4 9 7], I would like to sort 'field2' such that 'field2' = [9 4 7].

Accepted Answer

Chad Greene
Chad Greene on 12 Mar 2016
Edited: Chad Greene on 12 Mar 2016
The sort function returns the order of indices of an array for sorting. So
[A_sorted,ind] = sort(A);
can be used to sort another array B by
B_sorted_by_A = B(ind);

More Answers (0)

Categories

Find more on Shifting and Sorting Matrices in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!