我有一个包含2,4,6等值的数组。现在我想对数组进行排序以找到最大值,我不知道该怎么做。 请帮我。 在此先感谢!!
答案 0 :(得分:2)
NSinteger biggest = [[yourArray objectAtIndex:0] integerValue];
for(int i=1; i<[yourArray count]; i++) {
NSinteger current = [[yourArray objectAtIndex:i] integerValue];
if(current >= biggest) {
biggest = current;
}
}
这将为您提供阵列中最大的元素。
<强>更新强>
正如@occculus建议你可以尝试快速枚举。这是参考How do I iterate over an NSArray?
<强> FIX 强>
您的代码错误(由Kalle报告)和效率低下(objectAtIndex:
的冗余调用)。修好了,希望你不介意。
Regexident
答案 1 :(得分:2)
您可以通过仅查看每个值一次来确定最高值。
int highest = INT_MIN;
for (id elem in array)
{
int current = [elem intValue];
if (highest < current)
highest = current;
}
如果您希望对数组进行排序:
NSArray *sorted = [unsorted sortedArrayUsingSelector:@selector(compare:)];
int highest = [[sorted lastObject] intValue];