美文网首页
冒泡和选择排序

冒泡和选择排序

作者: 成长储存罐 | 来源:发表于2019-08-26 14:59 被阅读0次

// //冒泡排序:两两作比较,

// //多行多列,外层循环控制行,内层循环控制列,循环的嵌套

var arr = [5,99,2,9,1,5,67,7,10,23]      //定义一个杂乱的数组

    for(var i=0;i<arr.length-1;i++){        //大循环,用于遍历数组每个元素

        for(var j=0;j<arr.length-i-1;j++){  //小循环,用于将数组中的某个元素与其它所有元素相比较

            var sum;                        //声明一个局部变量,当作第三个空瓶子

            if(arr[j]>arr[j+1]){           //判断当前元素和后一个元素的大小,如果当前元素比后一个元素大

                sum = arr[j+1];             //将后一个元素(小元素)放在空瓶子里

                arr[j+1] = arr[j];          //将当前元素(大元素)放在后一个元素的位置

                arr[j] = sum;               //将小元素从空瓶子中拿出来,放在当前元素的位置

            }

        } 

    }

    console.log(arr);                      //完成循环之后,初始数组的顺序已经发生改变

选择排序:

    将第一位依次与后面的元素相比较,得到最小值,与第一位交换。再用第二位依次与后面元素相比较,得到最小值,与第二位交换。

    从原始数据中找到最小元素,并放在数组的最前面。然后再从下面的元素中找到最小元素,放在之前最小元素的后面,直到排序完成。

    var arr = [5,99,2,9,1,5,67,7,10,23]     //定义一个杂乱的数组

    for(var i=0;i<arr.length-1;i++){//大循环,需要比对的次数

        var min = arr[i];              //假定一个最小值

        var minIndex = i;            //假定最小值的索引

        for(var j=i+1;j<arr.length;j++){//小循环,每次需要比对的次数

            if(min>arr[j]){            //判断最小值是否为真的最小值

                min = arr[j];           //获取真正的最小值

                minIndex = j;        //获取真正最小值的索引

            }

        }

        arr[minIndex] = arr[i];    //将当前元素放在最小值的位置

        arr[i] = min;                    //将最小值放在当前元素的位置

    }

    console.log(arr);//输入排序好的数组    

相关文章

  • JAVA简单排序

    选择排序和冒泡排序: 排序结果

  • 常用的两种排序-冒泡、选择

    Swift版 冒泡排序 选择排序 OC版 冒泡排序 选择排序

  • 冒泡算法/选择排序算法/直接插入排序算法C语言实现

    排序算法 冒泡排序 选择排序 冒泡排序和选择排序的核心思路: 冒泡排序是:相邻两个元素两两进行比较,小则交换位置。...

  • python实现经典排序算法

    冒泡排序 这里是向前冒泡,即每一趟排序后最小元素冒泡至最前 选择排序 选择排序和冒泡相似,每一趟排序完后将最小元素...

  • OC中的排序算法

    目录 冒泡排序、快速排序、选择排序、插入排序 冒泡 快排 选择 插入

  • android算法 - 排序

    冒泡排序 选择排序 插入排序 快速排序 堆排序 其中简单排序就是冒泡排序,选择排序和插入排序。继而在分冶合并思想上...

  • java 实现排序算法之「选择排序」

    java 实现排序算法系列 继冒泡排序算法之后,选择排序终于和大家见面了。为什么冒泡排序之后要说选择排序呢,是因为...

  • Java实现常见的算法

    主要罗列了常见的选择排序,冒泡排序和快速排序,还有二分查找的算法。 选择排序 冒泡排序 快速排序 二分查找 注意二...

  • Java语言——数组排序算法

    数组有很多常用的算法,包括冒泡排序、直接选择排序和反转排序。 一、冒泡排序 冒泡排序是最常用的数组排序算法之一,它...

  • 简单算法之冒泡与选择排序

    冒泡排序 选择排序 冒泡排序与选择排序的时间复杂度是相同的,选择排序更像是冒泡排序的一半,注意两种排序排列方向问题

网友评论

      本文标题:冒泡和选择排序

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