1、创建一个NSMutableArray,添加double元素(我这里是double类型)
dbArr = [[NSMutableArray alloc]init];
[dbArr addObject:[NSNumber numberWithDouble:db ]];
2、将数组按升序排列
;
//取得两个值比较大的一个
NSComparator cmptr = ^(id obj1, id obj2){
//因为我这里数组元素是double,所以<span style="font-family: Menlo;">doubleValue,如果是</span><span style="color: rgb(0, 175, 202); font-family: Menlo;">integer</span><span style="font-family: Menlo;">类型就是</span><span style="color: rgb(0, 175, 202); font-family: Menlo;">integerValue。。。</span><span style="font-family: Menlo;">
</span>
if ([obj1 integerValue] > [obj2 doubleValue]) {
return (NSComparisonResult)NSOrderedDescending;//<span style="color: rgb(255, 255, 255); font-family: Menlo;">NSOrderedDescending也可以降序排列,取第一个即为最大</span>
}
if ([obj1 integerValue] < [obj2 doubleValue]) {
return (NSComparisonResult)NSOrderedAscending;
}
return (NSComparisonResult)NSOrderedSame;
};
3、获取数组中最大值
NSArray * lastArr = dbArr;
lastArr = [lastArr sortedArrayUsingComparator:cmptr];
NSString *max = [lastArr lastObject];
4、获取较大的1/3部分的平均值
NSMutableArray * maxMuArr = [NSMutableArray array];
double all = 0;
for (int i = (int)lastArr.count; i>lastArr.count*2/3-1; i--) {
[maxMuArr addObject:lastArr[i-1]];
all = [lastArr[i-1] doubleValue]+all;
}
double avaragr = <span style="color: rgb(76, 191, 87); font-family: Menlo;">all/maxMuArr.count;</span>