美文网首页
Javascript实现三种排序:冒泡排序、选择排序、插入排序

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

作者: 萤火虫de梦 | 来源:发表于2017-04-25 17:34 被阅读25次

    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);

    })();

    相关文章

      网友评论

          本文标题:Javascript实现三种排序:冒泡排序、选择排序、插入排序

          本文链接:https://www.haomeiwen.com/subject/reovzttx.html