2

array1containers.Map(array1, array2)の値に従ってソートしたいマップがあります。配列にはかなりの量のデータが含まれています (各配列に最大 50,000 要素)。

おそらく組み込みのMATLAB機能を使用して、これを行う簡単な方法はありますか?

環境は MATLAB 2012です。array1は文字配列です。

前もって感謝します!

4

1 に答える 1

5

acontainer.Mapはディクショナリまたはハッシュテーブルの実装であるため、データ構造自体の中で要素の順序を定義することはできません。ただし、デフォルトでは、MATLABはそれらをクエリするときに(に従って)ソートkeysします。valueskeys

keySet =   {'Jan', 'Feb', 'Mar', 'Apr'};
valueSet = [327.2, 368.2, 197.6, 178.4];
mapObj = containers.Map(keySet,valueSet);

>> keys(mapObj)
ans = 
    'Apr'    'Feb'    'Jan'    'Mar'

>> values(mapObj)
ans = 
    [178.4000]    [368.2000]    [327.2000]    [197.6000]
于 2012-10-31T21:54:01.647 に答える