zoukankan      html  css  js  c++  java
  • 排序算法总结

     //冒泡排序的优化          

    int array10[] = {97384};   

      BOOL flag1 = YES;     

    for (int i = 0; i < 5 - 1 && flag1; i++) {        

    flag = NO;//假设本趟循环没有做交换         

    for (int j = 0; j < 5 - 1 - i; j++) {             

    if (array10[j] > array10[j + 1]) {                

     int temp = array10[j];                

    array10[j] = array10[j + 1];                

    array10[j + 1] = temp;                

    flag1 = YES;//交换就置成YES            

    }        

    }    

    }

    Swift语言中
    //冒泡排序

    var sortBubble = [12, 45, 2, 8, 74, 10]

    for var i = 0; i < sortBubble.count - 1; i++ {    

    for var j = 0; j < sortBubble.count - 1 - i; j++ {        

    if sortBubble[j] < sortBubble[j + 1] {            

    var temp : Int = sortBubble[j]            

    sortBubble[j] = sortBubble[j + 1]            

    sortBubble[j + 1] = temp        

    }    

    }

    }

    sortBubble

    // 冒泡排序的优化

    var flag : Bool = true

    for var i = 0; i < sortBubble.count - 1 && flag; i++ {    

    flag = false    

    for var j = 0; j < sortBubble.count - 1 - i; j++ {        

    if sortBubble[j] < sortBubble[j + 1] {           

      var temp : Int = sortBubble[j]            

    sortBubble[j] = sortBubble[j + 1]           

      sortBubble[j + 1] = temp            

    flag = true         }     } }

    2 选择排序        //选择排序  思想: 每次选择当前序列中的最大值    

    NSMutableArray *sortSelect = [NSMutableArray arrayWithObjects:@12, @25, @0, @31, @20, nil];      

       int m,n;     NSNumber *temp;    

    for (m = 0; m < sortSelect.count - 1; m++) {        

    for (n = m + 1; n < sortSelect.count; n++) {            

    if (sortSelect[n] < sortSelect[m]) {                

    temp = sortSelect[n];                

    sortSelect[n] = sortSelect[m];                

    sortSelect[m] = temp;             }         }     }       

    for (NSNumber *num in sortSelect) {        

    NSLog(@"%@", num);     }    

    Swift语言中  var sortSelsect = [12, 25, 3, 86, 20, 4, 12]for var i = 0; i < sortSelsect.count - 1; i++ {    

    for var j = i + 1; j < sortSelsect.count; j++ {        

    if sortSelsect[j] < sortSelsect[i] {            

    var temp = sortSelsect[j]            

    sortSelsect[j] = sortSelsect[i]            

    sortSelsect[i] = temp         }     } }

    sortSelsect

  • 相关阅读:
    luogu1525 [NOIp2011]关押罪犯 (并查集)
    luogu1084 [NOIp2012]疫情控制 (二分答案+倍增+dfs序)
    luogu1083 [NOIp2012]借教室 (二分答案+差分)
    bzoj4152 The Captain (dijkstra)
    luogu1081 [NOIp2012]开车旅行 (STL::multiset+倍增)
    suoi22 WRX知识树(dfs序)
    [HNOI2010]弹飞绵羊
    1596: [Usaco2008 Jan]电话网络
    [Tyvj Jan]青蛙跳荷叶
    [BZOJ1116] CLO
  • 原文地址:https://www.cnblogs.com/xiangrongsu/p/4308106.html
Copyright © 2011-2022 走看看