专业的JAVA编程教程与资源

网站首页 > java教程 正文

JAVA常用操作:排序——冒泡排序(java冒泡排序原理)

temp10 2024-09-25 21:14:18 java教程 9 ℃ 0 评论

思路:

1、首先在第一轮排序中,数组从第一个元素到倒数第二个元素依次与其右边的元素进行比较,如果左边的元素大于右边的元素,那么两个元素就互换。

2、经过第一轮比较,最大的元素就已经存储到数组最右边的结点中了。

JAVA常用操作:排序——冒泡排序(java冒泡排序原理)

3、第二轮排序则是从第一个元素到倒数第三个元素依次与其右边的元素进行比较,如果左边的元素大于右边的元素,那么两个元素就互换。

4、依照此方式,一直到只有第一和第二个元素互相比较而结束。

代码:

  1. class ArrayDemo{

  2. public static void main(String[] args) {

  3. int[] arr= {89,34,-270,17,3,100};

  4. System.out.print("排序前数组:" );

  5. printArray(arr);

  6. bubbleSort(arr);

  7. System.out.print("排序后数组:" );

  8. printArray(arr);

  9. }

  10. public static void bubbleSort(int[] arr){

  11. for(int x = 0; x < arr.length - 1; x++){

  12. for(int y = 0; y < arr.length - 1 -x; y++){

  13. if(arr[y] > arr[y+1]){

  14. int temp = arr[y];

  15. arr[y] = arr[y+1];

  16. arr[y+1] = temp;

  17. }

  18. }

  19. }

  20. }

  21. public static void printArray(int[] arr){

  22. System.out.print("[" );

  23. for(int x = 0; x < arr.length; x++){

  24. if(x != arr.length - 1)

  25. System.out.print(arr[x] + "," );

  26. else

  27. System.out.println(arr[x] + "]" );

  28. }

  29. }

  30. }

运行结果:

在真实开发中,是不可能让我们自己去写这些排序算法的,因为JDK中已经提供好了API可以直接供我们调用。

示例:

  1. import java.util.Arrays;

  2. class ArrayDemo{

  3. public static void main(String[] args) {

  4. int[] arr= {89,34,-270,17,3,100};

  5. System.out.print("排序前数组:" );

  6. printArray(arr);

  7. Arrays.sort(arr);

  8. System.out.print("排序后数组:" );

  9. printArray(arr);

  10. }

  11. public static void printArray(int[] arr){

  12. System.out.print("[" );

  13. for(int x = 0; x < arr.length; x++){

  14. if(x != arr.length - 1)

  15. System.out.print(arr[x] + "," );

  16. else

  17. System.out.println(arr[x] + "]" );

  18. }

  19. }

  20. }

运行结果:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表