算法——排序(冒泡排序)

Posted pcyu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法——排序(冒泡排序)相关的知识,希望对你有一定的参考价值。

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

  举一个简单的例子,有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 ])  中的  > 改为 < 即可。


  

以上是关于算法——排序(冒泡排序)的主要内容,如果未能解决你的问题,请参考以下文章

排序算法—冒泡排序算法

排序算法之冒泡选择插入排序(Java)

排序算法之冒泡选择插入排序(Java)

冒泡排序

排序算法之冒泡排序

排序算法之冒泡排序