天天看点

数据结构与算法--反序

OC中有已经封装好的返序方法可以直接调用

NSArray * array = @[@"a", @"b", @"c",@"d"];

        //正序
        for (NSString * str  in array) {
            NSLog(@"%@", str);
        }
        NSLog(@"--------");
        //反序
        for (NSString * str  in [array reverseObjectEnumerator]) {
            NSLog(@"%@", str);
        }           

也可以自定义实现:

//
//  ViewController.m
//
//
//  Created by hhg on 15-6-15.
//  Copyright (c) 2015年 hhg. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    NSMutableArray *arrM = [[NSMutableArray alloc] initWithArray: @[@"a", @"b", @"c",@"d"]];

    NSLog(@"正序 = %@", arrM);
    [self reverseArr:arrM];
    NSLog(@"反序 = %@", arrM);

}

- (void)reverseArr:(NSMutableArray *)arr {
    NSInteger length = arr.count;
    for (NSInteger i = 0; i < length / 2; i++) {
        [arr exchangeObjectAtIndex:i withObjectAtIndex:length - i - 1];
    }
}


- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
}
@end