java中的冒泡排序

/*
冒泡排序
思路:相邻两个数进行比较,每比较一次,可以定义大的数往后,小的往前,并且最后一位是最大(小)值,
     从第二次比较开始比较,每次比较都要减掉一个元素。
*/
public class BubbleSort    //创建BubbleSort类
{
 public static void main(String[] args)   //定义主函数
 {
  int[] arr = new int[]{12,32,51,17,9,11};   //定义数组
  //打印前
  printArray(arr);
  //打印后
  bubbleSort(arr);
  printArray(arr);        //打印输出
 }
 public static void bubbleSort(int[] arr)   //创建冒泡方法函数
 {             //使用for循环,并且在内部比较
  for (int x=0;x<arr.length-1;x++)    //因为x从0角标开始,所以角标小于数组arr.length-1
  {
   for (int y=0;y<arr.length-x-1;y++)   //-x代表每次比较让元素减少,-1代表角标越界
   { 
    if (arr[y]>arr[y+1])     //用if来比较相邻元素,并交换
    {
     int temp = arr[y];
     arr[y] = arr[y+1];
     arr[y+1] = temp;
     }
   }
  }
 }
 //遍历数组函数
 public static void printArray(int[] arr)
 {
  for (int i=0;i<arr.length;i++)
  {
   System.out.print(arr[i]+" ");
  }
  System.out.println();
 }
}

分享到:
关键词:Java

网友留言(0 条)

发表评论