排序NSmuatbleArray

时间:2015-05-10 09:26:03

标签: ios arrays sorting

我需要像这样排序数组(在IOS中)... 让我们假设我有一个NSMutableArray:1,2,3,4,5 我需要构建一个新的数组,最后一个对象在中间,中间将替换最后一个:1.2.5.4.3 ... 请帮忙: 这就是我现在所做的,我只得到1.2.5,但我没有成功地把4.3 ......

NSMutableArray *arr = [[NSMutableArray alloc] initWithObjects:@1,@2,@3,@4,@5, nil];

int arrCount = (int)arr.count/2;
NSMutableArray *arr2 = [[NSMutableArray alloc] init];

for (int i = 0;i < arr.count; i++) {
  if (i < arrCount) {
    [arr2 addObject:arr[i]];

  }
  else{
    index = i;
    [arr2 addObject:arr.lastObject];

  }
}

1 个答案:

答案 0 :(得分:0)

NSMutableArray *arr = [[NSMutableArray alloc] initWithObjects:@1,@2,@3,@4,@5, nil];
NSMutableArray *arr2 = [[NSMutableArray alloc] initWithArray:arr];
int middleIndex = (int)arr.count/2;
id middleObject = arr2[middleIndex];
[arr2 replaceObjectAtIndex:middleIndex withObject:arr2.lastObject];
[arr2 replaceObjectAtIndex:arr2.count-1 withObject:middleObject];
NSLog(@"%@", arr2);