美文网首页
选择排序objective-C版本(selection sort

选择排序objective-C版本(selection sort

作者: 张俊凯 | 来源:发表于2019-01-11 17:15 被阅读16次
+(NSArray *)selectionSort:(NSArray <NSString *>*)originalArray{
    
    NSMutableArray *marray = [NSMutableArray arrayWithArray:originalArray];
    /**
     选择排序思想
     拿第一个数 和 后面所有的数对比,谁小就在第一位
     */

    /**
     --- (3) (4)  1   2   3;  3 < 4;  结果  3 4 1 2 3
     
     --- (3)  4  (1)  2   3;  3 > 1;  结果  1 4 3 2 3
     
     --- (1)  4   3  (2)  3   1 < 2;  结果  1  4   3  2  3
     
     --- (1)  4   3  2  (3)   1 < 3;  结果  1  4   3  2  3
     
     循环结束,第一位是最小的,比后面的都小,虽然后面的排序不对

     */
    
    for (int i = 0; i < marray.count - 1; i++) {//i最大位数倒数第二位
        for (int j = i + 1; j < marray.count; j++) {
            NSInteger frontNumber = [(NSString *)marray[i] integerValue];
            NSInteger backNumber = [(NSString *)marray[j] integerValue];
            if (frontNumber > backNumber) {
                [marray exchangeObjectAtIndex:i withObjectAtIndex:j];
            }
        }
    }
    return marray;
};

相关文章

网友评论

      本文标题:选择排序objective-C版本(selection sort

      本文链接:https://www.haomeiwen.com/subject/xloxdqtx.html