目标C - 在保持旧索引的同时从数组中排序数字

时间:2012-05-14 15:59:54

标签: objective-c sorting nsmutablearray nsdictionary nsnumber

  

可能重复:
  How to sort NSMutableArray using sortedArrayUsingDescriptors?

我很困惑如何对此进行排序。我不完全理解NSDictionary对象,但我做了一些搜索,很多人建议在排序之前使用它们来维护数组元素的原始索引。如果有更好的方法,请告诉我,但是现在我正在向NSMutableArray添加NS​​Dicitonary对象(带有NSNumber值+ NSNumber键)。然后我想根据NSNumber值对数组进行排序。这就是我现在设置它的方式:

NSMutableArray *sortindx = [[[NSMutableArray alloc] initWithCapactiy: M] autorelease];

for(int i = 0; i < M; i++) {
    //Each element is  a single number value with a key of its original array index
    NSDictionary *anElement=[NSDictionary dictionaryWithObject:[NSNumber numberWithInt: numbers[i]] forKey:[NSNumber numberWithInt:i]];
    [sortindx addObject: anElement];
}

如何在不改变键的情况下根据词典的值对“sortindx”进行排序?

我的最终目标是这样的:

{100, 0}, {20, 1}, {50, 2} //before sort
{20, 1}, {50, 2},  {100,0} //after sort

0 个答案:

没有答案