zoukankan      html  css  js  c++  java
  • iOS 冒泡排序

    一 冒泡排序

    1 将前后每两个数进行比较,较大的数往后排,一轮下来最大的数就排到最后去了。然后再进行第二轮比较,第二大的数也排到倒数第二了,以此类推

     1 int main(int argc, const char * argv[]) {
     2     @autoreleasepool {
     3         NSMutableArray *arr = [NSMutableArray arrayWithObjects:@1,@5,@2,@4,@3, nil];
     4         for (int i = 0; i < arr.count; ++i) {
     5             for (int j = 0; j < arr.count -1; ++j) {
     6                 if (arr[j] > arr[j+1]) {
     7                     [arr exchangeObjectAtIndex:j withObjectAtIndex:j+1];
     8                 }
     9             }
    10         }
    11         NSLog(@"最终结果:%@",arr);
    12     }
    13     return 0;
    14 }

    运行结果:

    1 2018-01-10 17:53:54.754684+0800 算法[2824:551256] 最终结果:(
    2     1,
    3     2,
    4     3,
    5     4,
    6     5
    7 )

     2.冒泡改进:

    里面一层循环在某次扫描中没有执行交换,则说明此时数组已经全部有序列,无需在扫描了。因此,增加一个标记,每次发生交换,就标记,如果某次循环没有标记,则说明已经完成排序。

     1 int main(int argc, const char * argv[]) {
     2     @autoreleasepool {
     3         NSMutableArray *arr = [NSMutableArray arrayWithObjects:@1,@5,@2,@4,@3, nil];
     4         BOOL isSort = true;
     5         for (int i = 0; i < arr.count; i ++) {
     6             isSort = false;
     7             for (int j = 0; j < arr.count - i - 1;j ++ ) {
     8                 if (arr[j] > arr[j+1]) {
     9                     [arr exchangeObjectAtIndex:j withObjectAtIndex:j+1];
    10                     isSort = YES;
    11                 }
    12             }
    13             if (!isSort) {
    14                 break;
    15             }
    16         }
    17         NSLog(@"最终结果:%@",arr);
    18     }
    19     return 0;
    20 }

    运行结果:

    2018-01-11 10:21:14.046746+0800 算法[1372:73546] 最终结果:(
        1,
        2,
        3,
        4,
        5
    )
    Program ended with exit code: 0
  • 相关阅读:
    外感上吐下泻案
    口唇口腔紅肿案
    柴胡桂枝汤---刘渡舟
    肺结核病人外感咳嗽不止案
    下肢麻木案
    老年人全身皮肤瘙痒案
    眩晕案
    頑固头痛失眠案
    PHP 点阵5*7字体
    PHP workerMan tcp与webSocket 透传互通
  • 原文地址:https://www.cnblogs.com/guohai-stronger/p/8259391.html
Copyright © 2011-2022 走看看