学习javascript,实现插入排序实现代码

  插入排序

  插入排序是这样实现的:   

  首先新建一个空列表,用于保存已排序的有序数列(我们称之为"有序列表")。   

  从原数列中取出一个数,将其插入"有序列表"中,使其仍旧保持有序状态。   

  重复2号步骤,直至原数列为空。   

  插入排序的平均时间复杂度为平方级的,效率不高,但是容易实现。它借助了"逐步扩大成果"的思想,使有序列表的长度逐渐增加,直至其长度等于原列表的长度。

  (引自百度百科)

  javascript代码

  

复制代码 代码如下:

  <script type="text/javascript">

  var org = [5, 4, 3, 2, 1, 6, 7, 9, 8, 10];

  var tempArr = new Array();

  for (var i = 0; i < org.length; i++) {

  if (i == 0) {

  tempArr[0] = org[0]; //把第一个元素放到新序列

  } else {

  for (var j = 0; j < tempArr.length; j++) {

  if (org[i] > tempArr[j]) {

  //如果是新序列的最后一个元素,则插入

  if (j == tempArr.length - 1) {

  tempArr[j + 1] = org[i];

  break;

  } else {//如果不是最后一个元素,则往后移动

  continue;

  }

  } else {

  //移动新序列、然后插入

  for (var k = tempArr.length - 1; k >= j; k--) {

  tempArr[k + 1] = tempArr[k];

  }

  tempArr[j] = org[i];

  break;

  }

  }

  }

  }

  alert(tempArr);

  </script>