冒泡排序

冒泡排序(Bubble Sort):是一种计算机科学领域的较简单的排序方法。是把一系列的数据按照一定的顺序进行排列显示(从小到大或从大到小) 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。

例如,我们可以将数组 [5,4,3,2,1] 中的元素按照从小到大的顺序排序,输出:1,2,3,4,5

利用双重for循环语句可以达到冒泡排序的方法


冒泡算法静态演示


冒泡算法动态演示

思路分析:

1.一共需要的趟数我们用外层for循环;5个数据我们一共需要走4趟;长度就是数组长度减去1 arr.length - 1

⒉.每一趟交换次数我们用里层for循环;第一趟交换4次;第二趟交换3次;第三趟交换2次;第四趟交换1次;长度就是数组长度减去次数但是我们次数是从0次开始的;所以最终arr.length - i -1

3.交换2个变量就好了


代码演示:

// 冒泡排序

<script>

    var arr = [5, 2, 3, 4, 1];

    for (var i = 0; i <= arr.length - 1; i++) { //外层循环管趟数

        for (var j = 0; j <= arr.length - i - 1; j++) { // 里面的循环管每一趟的交换次数

            //  内部交换2个变量的值前一个和后面一个数组元素相比较

            if (arr[j] > arr[j + 1]) {  //更改if里面条件语句控制排序类型;这里是从大到小

// 交换其中的变量值

                var temp = arr[j];

                arr[j] = arr[j + 1];

                arr[j + 1] = temp;

            }

        }

    }

    console.log(arr); // 打印输出arr数组

</script>


此文若有出入,请指出!

此致,敬礼!

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

推荐阅读更多精彩内容

  • 算法之冒泡排序 一:基本概念冒泡排序(Bubble Sort),又被称为气泡排序或泡沫排序;它是一种比较简单的排序...
    墨小飞阅读 444评论 0 2
  • 基本思想: 冒泡排序是一种交换排序,它的基本思想是:两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为...
    史史小子阅读 677评论 0 0
  • 阅读原文 冒泡排序是一个比较经典和简单的排序算法,今天我们从从算法本身,时间复杂度以及稳定性方面来看看冒泡排序,这...
    gyl_coder阅读 397评论 0 2
  • 原作者:涛声依旧,微信公众号“趣味编程”原博客链接:图解冒泡排序 冒泡排序是一个比较经典和简单的排序算法,今天我们...
    骇客与画家阅读 1,007评论 0 1
  • 冒泡思想 在算法国内,相传有一位大师,他不喜做官,在民间传道受业,弟子三千,人称“克” 有一天,克带着得意弟子...
    桃呀阅读 416评论 0 0