美文网首页
选择排序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