当前位置: 首页 > Web前端 > HTML

编程(003)-用js实现一个标准的排序算法

时间:2023-03-28 20:02:10 HTML

参考答案:1.冒泡排序是最慢的排序算法之一,但也是最容易实现的排序算法。之所以称为冒泡排序,是因为在使用这种排序算法进行排序时,数据值会像气泡一样从数组的一端漂浮到另一端。假设你正在对一组数字进行升序排序,较大的值浮动到数组的右边,较小的值浮动到数组的左边。出现此行为是因为算法多次移动数组,比较相邻值,并在左侧值大于右侧值时交换它们。functionBubbleSort(array){varlength=array.length;for(vari=length-1;i>0;i--){//用来缩小范围for(varj=0;jarray[j+1]){vartemp=array[j];这个范围将冒泡到尽头数组[j]=数组[j+1];数组[j+1]=温度;}}console.log(数组);console.log("------------------------------");}返回数组;}vararr=[10,9,8,7,7,6,5,11,3];varresult=BubbleSort(arr);控制台。日志(结果);/*[9,8,7,7,6,5,10,3,11]-----------------------------[8,7,7,6,5,9,3,10,11]-------------------------------[7,7,6,5,8,3,9,10,11]-----------------------------[7,6,5,7,3,8,9,10,11]-----------------------------[6,5,7,3,7,8,9,10,11]-----------------------------[5,6,3,7,7,8,9,10,11]----------------------------[5,3,6,7,7,8,9,10,11]----------------------------[3,5,6,7,7,8,9,10,11]----------------------------[3,5,6,7,7,8,9,10,11]*/二。选择排序选择排序从数组的开头开始,将第一个元素与其他元素进行比较。检查完所有元素后,将最小的元素放在数组的第一个位置,然后从第二个位置继续算法。这个过程一直进行下去,当到达数组的倒数第二个位置时,所有的数据就已经排序完毕。函数SelectionSort(array){varlength=array.length;for(vari=0;i=0;j--){if(insert0;gap=Math.floor(gap/2)){for(leti=gap;i=0&¤t>1;排序(开始,中间);排序(中间,结束);合并(开始,中间,结束);(begin,mid,end){letli=0,le=mid-begin;让ri=中间,re=结束;让ai=开始;让leftArray=[];for(leti=li;i=pivot&&i