javascript希尔排序算法代码实例

快乐打工仔 分类:实例代码

本章节分享一段使用javascript实现的希尔排序算法代码实例。

关于此算法的具体实现原理,大家可以自行在网上查询,介绍有很多。

代码实例如下:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="author" content="http://www.pipipi.net/" />
<title>犀牛前端部落</title>
<script type="text/javascript">
var array = new Array(12, 25, 32, 16, 18, 27, 59, 69, 36);
function shellSort(array) {
  var j, i, v, h = 1, s = 3, k, n = array.length;
  var result = "";
  var count = 0;
  while (h < n) {
    h = s * h + 1;
  }
     
  while(h > 1) {
    h=(h-1)/s;
    for (k=0; k<h; k++){
      for (i=k+h,j=i; i<n; i+=h, j=i) {
        v=array[i];
        while (true) {
          if ((j -= h) >= 0 && array[j] > v) {
            array[j + h] = array[j];
          }
          else {
            break;
          }
        }                
        array[j+h]=v;
      }
    }
    count++;
    result += "<br />第" + count + "遍排序的结果是:";
    for (var n = 0; n < array.length; n++) {
      result += array[n] + ",";
    }
  }
  return result;
}
window.onload = function () {
  var obox = document.getElementById("box");
  obox.innerHTML = shellSort(array)
}
</script>
</head>
<body>
<div id="box"></div>
</body>
</html>
javascript希尔排序算法代码实例

回复

我来回复
  • 暂无回复内容