21xrx.com
2024-11-22 03:28:59 Friday
登录
文章检索 我的文章 写文章
Java冒泡算法实现及代码
2023-07-26 08:36:02 深夜i     --     --
Java 冒泡算法 实现 代码

Java冒泡排序算法是一种简单而又常用的排序算法。它的基本思想是通过不断比较相邻元素的大小并交换位置,将较大(或较小)的元素逐渐“冒泡”到数组的末尾(开始位置),从而实现排序的目的。

下面是Java冒泡排序算法的实现代码:


public class BubbleSort {

  public static void main(String[] args) {

    int[] array = 11;

    System.out.println("原数组:");

    for(int i=0; i < array.length; i++){

      System.out.print(array[i] + " ");

    }

    System.out.println();

    bubbleSort(array);

    System.out.println("\n排序后的数组:");

    for(int i=0; i < array.length; i++){

      System.out.print(array[i] + " ");

    }

  }

  public static void bubbleSort(int[] array){

    int n = array.length;

    int temp;

    for(int i=0; i < n - 1; i++){

      for(int j=0; j < n - 1 - i; j++){

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

          temp = array[j];

          array[j] = array[j+1];

          array[j+1] = temp;

        }

      }

    }

  }

}

在上述代码中,我们首先定义了一个原始数组`array`,然后通过调用`bubbleSort`方法进行排序。

`bubbleSort`方法中,我们使用了两个嵌套的`for`循环来实现冒泡排序。外层循环控制排序轮次,内层循环控制每轮比较的次数。在每一轮中,我们比较相邻的两个元素,如果前一个元素大于后一个元素,则交换它们的位置。通过这样的比较和交换,较大(或较小)的元素将不断“冒泡”到数组的末尾(开始位置)。通过`n-1-i`的控制,每一轮比较的次数都比上一轮减少1,直到最后一轮只需比较一次。

上述代码的输出为:


原数组:

64 34 25 12 22 11 90

排序后的数组:

11 12 22 25 34 64 90

通过冒泡排序算法,我们成功地将数组从小到大排序了。

然而,冒泡排序算法的时间复杂度较高,为O(n²),并且无法应对大规模数据的排序。因此,在实际开发中,我们往往会选择更为高效的排序算法来解决排序问题。

  
  

评论区

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