Javascript实现三种排序:冒泡排序、选择排序、插入排序

var a;

a = [66, 53, 11, 5, 4, 3, 2, 1];

/*冒泡排序*/

(function maopaopaixu() {

                for (var i = 0; i < a.length - 1; i++) {//比较的次数是length-1

                          for (var j = 0; j < a.length - 1 - i; j++) {

                                       if (a[j] > a[j + 1]) {

                                                var tmp = a[j];

                                                a[j] = a[j + 1];

                                                a[j + 1] = tmp;

                                        }

                         }

                 }

         alert(a);

})();

a = [66, 53, 11, 5, 4, 3, 2, 1];

/*选择排序*/

(function xuanzepaixu() {

                  var min/*最小项的索引*/, tmp;

                   for (var out = 0; out < a.length - 1; out++) {//比较的次数是length-1

                           min = out;

                          for (var inner = out + 1; inner < a.length; inner++) {

                                  //这里是a.length,不是a.lenght-1,因为后者会导致右数第2项没法参与排序。

                                  if (a[inner] < a[min]) {

                                  min = inner;

                            }

                            //将最小的项移动到左侧

                           tmp = a[out];

                           a[out] = a[min]

                           a[min] = tmp;

                          }

}

alert(a);

})();

a = [66, 53, 11, 5, 4, 3, 2, 1];

/*插入排序*/

(function charupaixu() {

               for (var out = 1; out < a.length; out++) {

               var tmp = a[out];

               var inner = out;

               while (a[inner - 1] > tmp) {

                             a[inner] = a[inner - 1];

                             --inner;

               }

               a[inner] = tmp;

}

alert(a);

})();

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,896评论 18 399
  • 某次二面时,面试官问起Js排序问题,吾绞尽脑汁回答了几种,深感算法有很大的问题,所以总计一下! 排序算法说明 (1...
    流浪的先知阅读 4,910评论 0 4
  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 14,348评论 0 33
  • 本章是讲人文主义与科学理论的关系,虚构故事与客观现实的关系。虽然宗教里有太多可以用科学来证明是不能成立的东西,但是...
    希可人儿阅读 3,237评论 0 0
  • 了解星象的朋友都知道今年发生过几次水逆,有些奉星象如神明的人会谈水逆色变,认为生活中的诸多不顺都是因此而起。 我也...
    Fany就是我阅读 3,486评论 0 2