次の問題があります。整数の配列があり、各整数とその出現回数を持つデータ構造にそれらを配置し、出現回数で並べ替えたいと思います。
だから私が持っている場合:
[1, 3, 4, 6, 6, 3, 1, 3]
私は持っています:
[(4,1), (6,2), (1,2), (3,3)]
どこで (x,y) == (整数、その出現回数)。
NSCountedSet を使用しようとしましたが、うまく機能せず、それを行うための最良の方法は何だろうと思っていました。
これまでのところ、次のことを行っています。
NSCountedSet *totalSet = [[NSCountedSet alloc] initWithArray:finalArray];
ここで、finalArray は、未加工の完全なデータが並べ替えられていない最終的な配列です。totalSet は (x,y) にグループ化されますが、ソートされません (理想的には、'y' でソートする必要があります)。
私もこれをやろうとしましたが、うまくいきませんでした:
NSArray *sortedArray = [finalArray sortedArrayUsingSelector:@selector(compare:)];
そして、次のようにします。
NSCountedSet *totalSet = [[NSCountedSet alloc] initWithArray:finalArray];
しかし、それは「totalSet」を変更しませんでした。