iOS 二维数组倒置及二维数组转一维数组

以这个5*2二维数组为列
NSArray *array = @[
                       @[@"11", @"12"],
                       @[@"21", @"22"],
                       @[@"31", @"32"],
                       @[@"41", @"42"],
                       @[@"51", @"52"]];

1.二维数组倒置(即变为2*5二维数组)

NSArray *tmpArray = array[0];
   NSMutableArray *newArray = [NSMutableArray arrayWithCapacity:tmpArray.count];
   for (NSInteger i=0; i

打印结果如下:


iOS 二维数组倒置及二维数组转一维数组_第1张图片
二维数组转置.png

2.二维数组转一维数组(即包含2*5个元素的一维数组)

NSArray *tmpArray = array[0];
    NSMutableArray *secArray = [NSMutableArray arrayWithCapacity:(tmpArray.count*array.count)];
    for (NSInteger i=0; i<(tmpArray.count*array.count); i++) {
        [secArray addObject:@"0"];
    }
    
    NSInteger count = array.count;
    for (NSInteger i=0; i

打印结果如下:

iOS 二维数组倒置及二维数组转一维数组_第2张图片
二维数组转一维数组.png

微调上面的公式,又会有意想不到的结果

NSInteger count = tmpArray.count;
    for (NSInteger i=0; i

打印结果如下:

iOS 二维数组倒置及二维数组转一维数组_第3张图片
二维数组转一维数组2.png

3.一维数组转二维数组(5*2的二维数组)

//    5*2;
//    m = X / 2;    
//    n = X % 2;    m、n 代表数组下标
代码如下。。。紧接上面
 NSMutableArray *transferArray = [NSMutableArray arrayWithCapacity:5];
    for (NSInteger i=0; i<5; i++) {
        NSMutableArray *tmpArray = [NSMutableArray array];
        for (NSInteger j=0; j<2; j++) {
            [tmpArray addObject:@"0"];
        }
        [transferArray addObject:tmpArray];
    }
    for (NSInteger i=0; i

打印结果如下


iOS 二维数组倒置及二维数组转一维数组_第4张图片
一维转二维.png
iOS 二维数组倒置及二维数组转一维数组_第5张图片

Fighting!!!

你可能感兴趣的:(iOS 二维数组倒置及二维数组转一维数组)