swift 版

        var numbers = [17, 28, 36, 15, 39]
        print("排序前\(numbers)")
        
        for i in 0..<numbers.count - 1 {
            for j in 0..<numbers.count - 1 - i {
                if numbers[j] > numbers[j + 1] {
                    numbers.swapAt(j, j+1)
                }
            }
        }
        print("排序后\(numbers)")

  

 

OC版

    NSMutableArray *numbers = [NSMutableArray arrayWithObjects:@"17",@"28",@"36",@"15",@"39", nil];
    NSLog(@"排序前%@",numbers);
    for (int i = 0; i < 5 - 1; i++) {
        //比较的躺数
        for (int j = 0; j < 5 - 1 - i; j++) {
            //比较的次数
            if ([numbers[j] intValue] > [numbers[j + 1] intValue]) {
                //这里为升序排序
                
                int temp = [numbers[j] intValue];
                numbers[j] = numbers[j + 1];
                //OC中的数组只能存储对象,所以这里转换成string对象
                numbers[j + 1] = [NSString stringWithFormat:@"%d",temp];
            }
        }
    }
    NSLog(@"排序后%@",numbers);

  

    NSArray *sortedArray = [totalPriceArray sortedArrayUsingComparator:^NSComparisonResult(id  _Nonnull obj1, id  _Nonnull obj2) {
        if ([obj1 integerValue] > [obj2 integerValue]) {
            return NSOrderedDescending;
        }
        if ([obj1 integerValue] < [obj2 integerValue]) {
            return NSOrderedAscending;
        }
        return NSOrderedSame;
    }];

 

    self.indexArray = [[NSArray alloc] initWithArray:[[self.sortedNameDict allKeys] sortedArrayUsingComparator:^NSComparisonResult(id  _Nonnull obj1, id  _Nonnull obj2) {
        return [obj1 compare:obj2];
    }]];

 

    
    for (SHMaasOnlineCarEstimateInfoModel *model in tempArr) {
        NSLog(@"排序前model.fee = %ld", model.fee);
    }
    if (tempArr.count > 0){
        [tempArr sortUsingComparator:^NSComparisonResult(SHMaasOnlineCarEstimateInfoModel *obj1, SHMaasOnlineCarEstimateInfoModel *obj2) {
            return [@(obj1.fee) compare:@(obj2.fee)];
            //            if (obj1.fee > obj2.fee) {
            //                return NSOrderedDescending;
            //            }else if (obj1.fee > obj2.fee){
            //                return NSOrderedAscending;
            //            }else{
            //                return NSOrderedSame;
            //            }
        }];
        
        for (SHMaasOnlineCarEstimateInfoModel *model in tempArr) {
            NSLog(@"排序后model.fee = %ld", model.fee);
        }
    }

 

posted on 2018-08-23 17:09  懂事长qingzZ  阅读(122)  评论(0编辑  收藏  举报