美文网首页
数组排序

数组排序

作者: BlueSky520 | 来源:发表于2017-10-31 23:14 被阅读0次

    1、冒泡:
    NSMutableArray * numberArray = [NSMutableArray arrayWithObjects:@1,@4,@2,@3,@5,nil];;
    for (int i = 0; i < numberArray.count; i++) {
    for (int j = 0; j < numberArray.count - 1; j++) {
    if (numberArray[i]<numberArray[j]) {
    [numberArray exchangeObjectAtIndex:i withObjectAtIndex:j];
    }
    }
    }
    2、选择:
    NSMutableArray * numberArray = [NSMutableArray arrayWithObjects:@1,@4,@2,@3,@5,nil];;
    for (int i = 0; i < numberArray.count; i++) {
    for (int j = i + 1; j < numberArray.count; j++) {
    if (numberArray[i]>numberArray[j]) {
    [numberArray exchangeObjectAtIndex:i withObjectAtIndex:j];
    }
    }
    }
    3.快速排序
    //1)选择一个基准元素,通常选择第一个元素或者最后一个元素,
    //
    //2)通过一趟排序讲待排序的记录分割成独立的两部分,其中一部分记录的元素值均比基准元素值小。另一部分记录的 元素值比基准值大。
    //
    //3)此时基准元素在其排好序后的正确位置
    //
    //4)然后分别对这两部分记录用同样的方法继续进行排序,直到整个序列有序。

    图片.png
    4.合并排序
    //归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。 图片.png

    相关文章

      网友评论

          本文标题:数组排序

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