zoukankan      html  css  js  c++  java
  • 算法——排序(冒泡排序)

      冒泡排序的核心就是比较相邻的两个项,如果第一项比第二项大,则交换它们,以此类推元素向上移动到正确的位置,就像气泡冒出的感觉。

      举一个简单的例子,有1,5,8,3,2这五个数,按照从小到大的顺序进行排列。代码如下:

     1 let arr = [1, 5, 8, 3, 2]
     2 
     3 function swap(arr, index1, index2) {
     4   var temp = arr[index1]
     5   arr[index1] = arr[index2]
     6   arr[index2] = temp
     7 }
     8 
     9 function bubbleSort() {
    10   for (let i = 0; i < arr.length - 1; i++) {
    11     for (let j = 0; j < arr.length - 1; j++) {
    12       if (arr[j] > arr[j + 1]) {
    13         swap(arr, j, j + 1)
    14       }
    15     }
    16   }
    17 }
    18 
    19 bubbleSort(arr)
    20 console.log(arr) // 结果为 [ 1, 2, 3, 5, 8 ]

      若要实现从大到小的排列,只需将 if (arr[ j ]  >  arr[ j + 1 ])  中的  > 改为 < 即可。

    
    

      

  • 相关阅读:
    「BZOJ1954」Pku3764 The xor – longest Path
    【bzoj4260】【Codechef REBXOR】
    BZOJ_3012_[Usaco2012 Dec]First!
    【bzoj1174】[Balkan2007]Toponyms
    String
    前缀和
    [POI2008] CLO
    [Scoi2010] 游戏
    CodeForces892E
    并查集的删除操作
  • 原文地址:https://www.cnblogs.com/pcyu/p/11372394.html
Copyright © 2011-2022 走看看