算法基础之选择排序

说一下选择排序的基本算法 。 现在有这样一个数组,[ 3 , 4 ,6 , 1 , 7 , 2 , 5 , 8]  我们对其进行从小到大的排序 。 现在我们默认数组中第一个元素就是数组中的最小值,将它与其后边的所有元素进行比较,当有元素的值小于当前默认最小元素时,交换这两个元素的顺序。

当数组第一个元素小于后边所有元素时,我们再用数组第二个元素与后面所有元素进行比较。依次类推,这样我们执行到第n轮,前n个数均是已经排好序的。

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

   for(var i=0;i<arr.length-1;i++)  //arr[ i] 代表当前拿出来做比较的数

   {                                // 从第一个开始拿 ,一直拿到length-1个

                                    // 因为当执行到length-1次,数组前length-1个元素

                                    //是已经排好序的。

      for(var j=i+1;j<arr.length;j++)

      {

          if(arr[i]>arr[j])   // arr[j] 代表从当前拿出的数往后所有的数

          {

              temp=arr[i];

              arr[i]=arr[j];

              arr[j]=temp;

          }

      }

  } 

算法复杂度o(n²) ;

猜你喜欢

转载自blog.csdn.net/tuohai_/article/details/70224514
今日推荐