iOS排序方法集合

OC_选择排序

    NSMutableArray *mutArray = [NSMutableArray arrayWithObjects:@1,@4,@2,@3,@5,nil];
    for (int i=0; i<mutArray.count; i++) {
        for (int j=i+1; j<mutArray.count; j++) {
            if (mutArray[i]<mutArray[j]) {
                [mutArray exchangeObjectAtIndex:i withObjectAtIndex:j];
            }
        }
    }
    NSLog(@"%@",mutArray);

OC_冒泡排序

    NSMutableArray *arr_M = [NSMutableArray arrayWithObjects:@1,@4,@2,@3,@5,nil];
//遍历`数组的个数`次
    /* 
     i = 0 的时候,j的相邻两个位置都要比较排一下位置:
        j = 0 的时候:arr_M = 41235
        j = 1 的时候:arr_M = 42135
        j = 2 的时候:arr_M = 42315
        j = 3 的时候:arr_M = 42351
     i = 1; 
     …… ……
     */
    for (int i = 0; i < arr_M.count; ++i) {
        //遍历数组的每一个`索引`(不包括最后一个,因为比较的是j+1)
        for (int j = 0; j < arr_M.count-1-i; ++j) {
            //根据索引的`相邻两位`进行`比较`
            if (arr_M[j] < arr_M[j+1]) {
                [arr_M exchangeObjectAtIndex:j withObjectAtIndex:j+1];
            }
        }
    }
    NSLog(@"最终结果:%@",arr_M);

参考原文:排序算法

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容