holyya.com
2025-09-04 21:58:50 Thursday
登录
文章检索 我的文章 写文章
在我的编程生涯中
2023-06-11 07:34:42 深夜i     --     --
排序算法 Java 代码

在我的编程生涯中,排序算法一直是最常用的功能之一。Java提供了多种排序算法,用于对数组和集合进行排序。在这篇文章中,我将对Java中的排序算法进行总结,并提供一些关键字和代码示例。

Java提供了Arrays类和Collections类,用于对数组和集合进行排序。以下是Arrays类提供的一些排序算法:

1、冒泡排序:每一轮将最大的数移到最后,时间复杂度为O(n^2)。

示例代码:


public static void bubbleSort(int[] arr){

  for(int i=0;i

    for(int j=0;j

      if(arr[j]>arr[j+1]){

        int temp=arr[j+1];

        arr[j+1]=arr[j];

        arr[j]=temp;

      }

    }

  }

}

2、选择排序:每一轮选择一个最小的数,放到最前面,时间复杂度为O(n^2)。

示例代码:


public static void selectSort(int[] arr){

  for(int i=0;i

    int minIndex=i;

    for(int j=i+1;j

      if(arr[j]

        minIndex=j;

     

    }

    if(minIndex!=i){

      int temp=arr[i];

      arr[i]=arr[minIndex];

      arr[minIndex]=temp;

    }

  }

}

3、插入排序:从第二个数开始,将每一个数插入到前面有序的数列中,时间复杂度为O(n^2)。

示例代码:


public static void insertSort(int[] arr){

  for(int i=1;i

    int temp=arr[i];

    int j=i-1;

    while(j>=0&&arr[j]>temp){

      arr[j+1]=arr[j];

      j--;

    }

    arr[j+1]=temp;

  }

}

除了Arrays类中提供的排序算法,Collections类也提供了一些常用的排序算法,如sort()、reverseOrder()和shuffle()。

代码示例:


List list=new ArrayList<>();

list.add(1);

list.add(4);

list.add(5);

list.add(2);

Collections.sort(list);

System.out.println(list);//[1, 2, 4, 5]

Collections.sort(list,Collections.reverseOrder());

System.out.println(list);//[5, 4, 2, 1]

Collections.shuffle(list);

System.out.println(list);//[2, 5, 1, 4]

总之,在Java中,有多种排序算法可供选择。我希望这篇文章可以对您有所帮助,使您能够在编程中更加熟练地使用这些算法。

标题:Java排序算法总结

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复