首页 > 代码库 > 排序算法总结

排序算法总结

1.冒泡排序,从小到大

第一步:相邻两个数比较,如果第一个数小于第二个交换位置,最大的数轮到最后一位

第二步:从数组下标为零的数继续比较,次大的数轮到倒数第二位

第三步:重复步骤直到每个元素的位置正确

技术分享

 1 for(var i=0;i<arr.length-1;i++){
 2   for(var j=0;j<arr.length-1;j++){
 3     if(arr[j]>arr[j+1]){
 4       swap(j,j+1,arr);
 5     }
 6   }        
 7 }
 8 swap(i,j,arr){
 9   var temp=arr[i];
10   arr[i]=arr[j];
11   arr[j]=temp;
12 }

2.选择排序(从小到大)

每次选出一个最小的数,依次排列到数组的首部

技术分享

forvar i=0;i<arr.length-1;i++){
  min=i;
  for(var j=i+1;j<arr.length:j++){
    if(arr[j]<arr[min]){
      min=j;  
    }
  }
  if(min!=i){
    swap(i,j.arr);
  }  
}

 

排序算法总结