冒泡排序

原理:

數組中每一個數同其他數做比較,大的數放在數組對尾部,小的數放在數組前部

  • 上代碼
    // 創(chuàng)建數組
NSMutableArray *arr = [NSMutableArray array];
 for (int i = 0; i < 20; i++) {
        int a = arc4random()%(100+10);
        [arr addObject:@(a)];
}
NSLog(@"初始值:%@",arr);
2017-03-08 11:20:36.923 冒泡排序[2827:81020] 初始值:(
108,1,46,36,53,8,97,8,34,18,85,88,11,54,31,104,29,21,35,1)

// 排序核心方法

 +(NSMutableArray *)getSortArrayWithArray:(NSMutableArray *)array {
    for (int i = 0; i < array.count; i++) {
        //  每個數和剩余的其他數作比較 
        for (int j = 0; j < array.count-1-i; j++) {
            if ([array objectAtIndex:j] > [array objectAtIndex:j+1]) {
                id tempA = [array objectAtIndex:j];
                id tempB = [array objectAtIndex:j+1];
                [array replaceObjectAtIndex:j+1 withObject:tempA];
                [array replaceObjectAtIndex:j withObject:tempB];
            }
        }
    }  
    return array;
}

// 開始排序

NSMutableArray *newArr = [SortArray getSortArrayWithArray:arr];
NSLog(@"排序后:%@",newArr);
2017-03-08 11:20:36.925 冒泡排序[2827:81020] 排序后:(
    1,
    1,
    8,
    8,
    11,
    18,
    21,
    29,
    31,
    34,
    35,
    36,
    46,
    53,
    54,
    85,
    88,
    97,
    104,
    108
)
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容