/***************  简单对象的排序 *****************/

// 排序 可变数组

NSMutableArray *arr = [NSMutableArray arrayWithObjects:@"8", @"2", @"3", @"5", nil];

// **冒泡排序**
for (NSInteger i = 0; i < arr.count - 1; i++) {
    for (NSInteger j = 0; j < arr.count - i - 1; j++) {
        // 比较交换
        // 注意字符串比较方法的返回值
        if (NSOrderedDescending == [arr[j] compare:arr[j + 1]]) {
            // 数组的交换方法
            [arr exchangeObjectAtIndex:j withObjectAtIndex:j + 1];
        }
        
    }
   
}
 NSLog(@"%@", arr);

屏幕快照 2016-01-07 下午4.43.06.png

// OC排序方法
// @selector - 方法选择器, 填写要用来比较的方法 compare(比较)
[arr sortedArrayUsingSelector:@selector(compare:)];

NSLog(@"%@", arr);

// 不可变数组排序- 与可变数组类似
// 一般都在排序方法命名加Array
// 如:可变方法:sortUsingSelector
//      不可变方法:sortedArrayUsingSelector
NSArray *arr1 = [NSArray arrayWithObjects:@"2", @"1", @"6", @"4", nil];
NSArray *sortArr =[arr1 sortedArrayUsingSelector:@selector(compare:)];
NSLog(@"%@", sortArr);

屏幕快照 2016-01-07 下午4.45.06.png