我需要根据另一个列表没有循环的顺序对列表的值进行排序。例如:
A=[1 2 3 4 5]
B=[8 5 6 2 10 3 1 9 4]
根据A
中值的顺序排序B
的结果是:
C=[5 2 3 1 4]
答案 0 :(得分:2)
您的问题需要明确许多方面,例如A
和B
中的数字是否始终是唯一的? A
中的所有数字是否始终位于B
中。但要从C
和A
获取B
,您可以这样做:
B(ismember(B,A))
如果A
是唯一的,但B
不是,例如:
A=[1 2 3 4 5]
B=[8 5 5 6 3 2 10 3 1 9 4]
然后您需要将其更改为
unique(B(ismember(B,A)),'stable')
答案 1 :(得分:0)
试试这个:
A = [1 2 3 4 5]
B = [8 5 6 2 10 3 1 9 4]
m = 1;
C = zeros(size(A))
for n =1:length(B)
if B(n) <= length(A)
C(m) = A(B(n));
m = m + 1;
end
end
C