学习日记:冒泡排序

来源:互联网 发布:地图数据采集员 编辑:程序博客网 时间:2024/05/16 18:02

 

 

 

冒泡排序的外循环每循环一次,内循环就少一次循环,每次循环都能确定一个数

可以想象吧数组竖着排列.小的就往上冒.大的往下

 

   public static void bubbleSort(int[] arr)
 {
  for(int x=0;x<arr.length-1;x++)
  {
   for(int y=0;y<arr.length-x-1;y++)
    if(arr[y]>arr[y+1])
   {
    temp=arr[y+1];
    arr[y+1]=arr[y];
    arr[y]=temp;
   }
  }
 }
}

                         程序中 关键的y<arr.length-x-1 理解

因为冒泡是两两相邻的比较,比较到最后一个数停止循环下一次. 比方5个数比较4次.10个数比较9次.

那么y<arr.length就要减去1;每次X外循环就能确定一个数 所以X每循环一次,Y就减少一个比较的数.

所以就有y<arr.length-x-1

 


 

 

 

原创粉丝点击