Discuz教程网

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

[复制链接]
authicon dly 发表于 2011-9-16 07:47:24 | 显示全部楼层 |阅读模式
插入排序
  插入排序是这样实现的:   
首先新建一个空列表,用于保存已排序的有序数列(我们称之为"有序列表")。   
从原数列中取出一个数,将其插入"有序列表"中,使其仍旧保持有序状态。   
重复2号步骤,直至原数列为空。   
插入排序的平均时间复杂度为平方级的,效率不高,但是容易实现。它借助了"逐步扩大成果"的思想,使有序列表的长度逐渐增加,直至其长度等于原列表的长度。
(引自百度百科)
javascript代码
  1. <script type="text/javascript">
  2. var org = [5, 4, 3, 2, 1, 6, 7, 9, 8, 10];
  3. var tempArr = new Array();
  4. for (var i = 0; i < org.length; i++) {
  5. if (i == 0) {
  6. tempArr[0] = org[0]; //把第一个元素放到新序列
  7. } else {
  8. for (var j = 0; j < tempArr.length; j++) {
  9. if (org[i] > tempArr[j]) {
  10. //如果是新序列的最后一个元素,则插入
  11. if (j == tempArr.length - 1) {
  12. tempArr[j + 1] = org[i];
  13. break;
  14. } else {//如果不是最后一个元素,则往后移动
  15. continue;
  16. }
  17. } else {
  18. //移动新序列、然后插入
  19. for (var k = tempArr.length - 1; k >= j; k--) {
  20. tempArr[k + 1] = tempArr[k];
  21. }
  22. tempArr[j] = org[i];
  23. break;
  24. }
  25. }
  26. }
  27. }
  28. alert(tempArr);
  29. </script>
复制代码



上一篇:js中判断文本框是否为空的两种方法
下一篇:js图片切换效果(映彩衣的js随笔)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-2 08:48

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表