Java数组

  /*
  冒泡排序(Bubble Sort)是一种简单直观的排序算法。
  它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。
  走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
  时间复杂度是O(n*n)
  */
  public static void bubbleSort(int[] arr){
    int temp;
    for(int i=0;i<arr.length-1;i++){
      for(int j=1;j<arr.length-1-i;j++){
        if(arr[i]>arr[i+1]){
          temp=arr[i];
          arr[i]=arr[i+1];
          arr[i+1]=temp;
        }
      }
    }
  }
  //优化的目的:数组有可能在中间某一过程就已经有序,无序再进行后面操作。
  public class Demo02 {
    public static void main(String[] args) {
        int[] arr={2,4,2,1,45,7};
        int[] res=bubbleSort(arr);
        System.out.println(Arrays.toString(res));
    }
    public static int[] bubbleSort(int[] arr){
        int temp;
        boolean flag=false;
        for(int i=0;i<arr.length-1;i++){
            for(int j=0;j<arr.length-1-i;j++){
                if(arr[j]>arr[j+1]){
                    temp=arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=temp;
                    flag=true;
                }
            }
            if(flag==false){
                break;
            }else{
                flag=false;
            }
        }
        return arr;
    }
}
posted @ 2024-04-29 16:36  Hanyta  阅读(2)  评论(0编辑  收藏  举报