冒泡排序和选择排序的简单代码

代码如下:
public class Sort{
public static void main(String [] args){
int[] arr={12,45,89,2,10,9};
bubbleSort(arr);
selectSort(arr);
}

/*

  • 冒泡排序和选择排序的区别:
    1.冒泡排序比较相邻位置的两个数,而选择排序是按顺序比较,找最大值或最小
    值。
    2.冒泡排序优点:比较简单,空间复杂度较低,稳定的。缺点:时间复杂度太高,效率慢
    3.选择排序优点:一轮比较只需要换一次位置。缺点:效率慢,不稳定
    /
    /
    *
  • @param arr
  • 冒泡排序算法思路:
  • 一、外层控制趟数,有6个数,跑5次,因为最后一个数,已经有位置,
  • 所以需要length-1,然后i=0,i小于数组长度,0-4,包挂0,到4,等于5次。
  • 二、内层控制比较大小,决定交换。

*/

public static void bubbleSort(int arr[]){
for(int i=0;i for(int j=i+1;j //j=i+1是为了,让第一个和第二个值比较
//这个冒泡排序从小到大。如果第一个大于第二个,第一个赋值
//给中间值,第二个赋值给第一个
//把中间值再赋值给第二个,
if(arr[i]>arr[j]){
//中间值temp
int temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}

}
//输出结果
System.out.println(“冒泡排序:”+Arrays.toString(arr));

}

/**
*

  • @param arr

  • 选择排序算法思路:一、外层控制趟数,有6个数,跑5次,因为最后一个数,

  • 已经有位置,所以length-1

  • 二、内层控制比较大小,决定交换
    */
    public static void selectSort(int[] arr){
    for(int i=0;i for(int j=i+1;j //这个选择排序从大到小。
    if(arr[i] int temp=arr[i];
    arr[i]=arr[j];
    arr[j]=temp;
    }
    }
    }
    //输出结果
    System.out.println(“选择排序:”+Arrays.toString(arr));

    }
    }

你可能感兴趣的:(java基础)