Skip to content

Commit

Permalink
fix
Browse files Browse the repository at this point in the history
  • Loading branch information
fasionchan committed Nov 27, 2018
1 parent b394d4d commit 4e5e65e
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 24 deletions.
18 changes: 18 additions & 0 deletions docs/zh_CN/_fragments/disqus.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
.. disqus
FileName: disqus.rst
Author: Fasion Chan
Created: 2018-03-26 21:33:34
@contact: fasionchan@gmail.com
@version: $Id$
Description:
Changelog:
.. raw:: html

<div id="disqus_thread"></div>

.. comments
comment something out below
37 changes: 24 additions & 13 deletions docs/zh_CN/sorting/bubble-sort.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.. 重建二叉树
.. 冒泡排序(JavaScript版)
FileName: bubble-sort.rst
Author: Huang Xiaoyan
Created: 2018-11-23 16:04:00
Expand All @@ -9,36 +9,47 @@
Changelog:
========
冒泡排序
========
======================
冒泡排序(JavaScript版)
======================

算法简析
-------
========

冒泡排序,是一种较简单的排序算法
冒泡排序,是一种比较简单的排序算法

该算法的基本思路是:它重复地遍历要排序的数列,一次比较两个元素,若顺序错误则进行交换。如此重复 *n-1* 趟,直到不再需要交换,也就说明该数列已经排序完成。
该算法的基本思路是:它重复地遍历要排序的数列,一次比较两个元素,若顺序错误则进行交换。
如此重复 *n-1* 趟,直到不再需要交换,也就说明该数列已经排序完成。

代码实现
-------
========

.. literalinclude:: /_src/javascript/sorting/bubble-sort/bubble-sort.js

代码解读
-------
========

代码有两层循环。

外层循环控制遍历数列的次数,记次数为 *i* 。由于到第n-1遍时,该数列后 *n-1* 个数必定已经有序,所以遍历数列时,只需遍历 *n-1* 遍。
外层循环控制遍历数列的次数,记次数为 *i* 。
由于到第 *n-1* 遍时,该数列后 *n-1* 个数必定已经有序,所以遍历数列时,只需遍历 *n-1* 遍。

内层循环针对数列前 *n-i* 个元素,执行以下的算法:

1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
#. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
#. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。
这步做完后,最后的元素会是最大的数。
#. 针对前面 *n-i* 个元素重复以上的步骤,直到数列完全有序。

下一步
======

2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。
.. include:: /_fragments/next-step-to-wechat-mp.rst

3. 针对前面 *n-i* 个元素重复以上的步骤,直到数列完全有序。
.. include:: /_fragments/disqus.rst

.. include:: /_fragments/wechat-reward.rst

.. comments
comment something out below
22 changes: 11 additions & 11 deletions src/javascript/sorting/bubble-sort/bubble-sort.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
function bubbleSort(arr) {
var n = arr && arr.length
for (var i=0; i<n-1; i++) {
for (var j=1; j<n-i; j++) {
if (arr[j-1] > arr[j]) {
var temp = arr[j-1]
arr[j-1] = arr[j]
arr[j] = temp
}
}
}
}
var n = arr && arr.length
for (var i=0; i<n-1; i++) {
for (var j=1; j<n-i; j++) {
if (arr[j-1] > arr[j]) {
var temp = arr[j-1]
arr[j-1] = arr[j]
arr[j] = temp
}
}
}
}

0 comments on commit 4e5e65e

Please sign in to comment.