关于排序算法(持续更新)

xiaoxiao2021-02-27  129

1.冒泡排序法

    外部循环循环元素个数,内部循环交换次数

    function  bubble(items){

    for(var i=0;i<items.length;i++){

      for(var j=0;j<items.length-i-1;j++)   //j相当于与之前元素比较

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

         var swap = items[j];

         items[j] = items[j+1];

         items[j+1] = swap; 

      }

   }

 }

    var items = [3,2,6,4,7,9,8,5,1];

    bubble(items)

2.选择排序法

  外层循环遍历元素次数,内部循环挑出最小数字

   function selectSort(items){

         var len=items.length;

         var minIndex,temp;

          for(var i=0;i<len-1;i++){

               minIndex = i;                                               //定义一个最小的函数

               for(var j=i+1;j<len;j++){

                   if(items[j]<items[minIndex]){

                        minIndex = j;

                   }

               }

               temp = items[i];                                     //换位置

               items[i] = items[minIndex];

               items[minIndex] = temp;

          }

         return arr;

   }

  var items = [3,2,6,4,7,9,8,5,1];

    selectSort(items)

3.插入排序

   

function insertionSort(items) { var len = items.length; for (var i = 0; i < len; i++) { //外层循环元素个数 var value = items[i]; for (var j = i-1; j > -1 && items[j] > value; j--) { console.log(i,j,items[j]); items[j+1] = items[j]; } items[j+1] = value; } return items; };

转载请注明原文地址: https://www.6miu.com/read-16073.html

最新回复(0)