java中有两种最常见的排序算法

选择排序算法 冒泡排序算法

代码案例:

class sort
{

public static void main(String[] args) 
{
    //定义一个数组
    int[] arr={2,6,1,3,4};
    //调用打印数组的方法
    printArray(arr);
    //排序
    //selectSort(arr);
      bubbleSort(arr);
    //打印排序之后
    printArray(arr);
}

//定义一个方法就是打印数组的方法
public static void printArray(int[] arr){
   //首先打印数组的左边一个括号
   System.out.print("[");
   //判断当遍历到最后一个元素的时候,我们是不需要添加逗号的,而是添加一个括
        //然后遍历数组
     for(int i=0;i<arr.length;i++){
         //打印逗号+元素
         //判断如果是最后一个元素不打印逗号,而是打印,括号
         if(i!=arr.length-1){
            System.out.print(arr[i]+",");
         }else{
            System.out.print(arr[i]+"]");
        } 
}
}

//选择排序法
public static void selectSort(int[] arr){
  //选择排序的核心就是两个相邻的元素之间相互交换位置

  //外层循环控制的表较的轮数
  for(int i=0;i<arr.length-1;i++){
    //内层循环,只有当内存循环完毕的时候,才会执行下一轮,也就是下一个外层循环
    for(int j=i+1;j<arr.length;j++){
        //交换位置
        if(arr[i]>arr[j]){
          int temp=arr[i];
          arr[i]=arr[j];
          arr[j]=temp;            
          }
      }
  }
}

//冒泡排序法
//冒泡排序法的核心思想就是:把相邻的两个元素进行一个比较,然后交换位置

public static void bubbleSort(int[] arr){

  //循环 外层循环也是控制的是比较的轮数
  for(int i=0;i<arr.length-1;i++){

      //内层循环才是真正的比较
      for(int j=0;j<arr.length-i-1;j++){
         //移动位置
         if(arr[j]>arr[j+1]){
            int temp=arr[j];
            arr[j]=arr[j+1];
            arr[j+1]=temp;
         }
      }
       
  }

}

}