Java 程序执行冒泡排序


2023 年 1 月 9 日, Learn eTutorial
1879

什么是冒泡排序?

冒泡排序是一种简单的排序算法。假设我们需要将一个数字数组按升序排列。我们需要检查以下步骤

  • 检查前两个相邻的数字
  • 如果第一个数字大于第二个数字,则交换这些数字
  • 接下来检查第2个和第3个数字,如果第一个数字大于第二个数字,则交换。
  • 重复此过程直到检查完最后一个数字,

因此,在第一次迭代后,最大的数字被放置在其正确的位置,即数组的最后一个索引处。重复相同的过程直到数字完全排序。

 Java - Perform bubble sort

如何使用 Java 程序执行冒泡排序?

首先,我们必须声明类“BubbleSort”。声明整型变量“i, j, temp, limit”。创建扫描器类对象 sc。将数组元素的限制读取为“limit”。声明一个大小为“limit”的整型数组。使用 for 循环将数组元素读取到“array[ ]”中。然后通过使用嵌套 for 循环比较相邻元素,如果第一个元素大于第二个元素,则交换元素。在内部 for 循环执行后,我们得到一个元素处于正确位置。现在再次重复外部 for 循环,直到我们得到一个排序好的数组,然后显示结果。

通过使用嵌套的 for 循环,条件为“j<=limit-i-1”和“j arr[j+1]”,如果为真,则将“arr[j]”的位置更改为“arr[j+1]”并重复循环。

算法

步骤 1:声明带有 public 修饰符的类 BubbleSort

步骤 2:打开 main() 开始程序,并声明整型变量 i, j, temp, limit

步骤 3:将数组的限制读取到变量 limit 中。

步骤 4:声明一个大小为 limit 的数组。

步骤 5:使用 for 循环i = 0 到 limit 将元素读取到“数组”中。

步骤 6:使用嵌套 for 循环遍历数组并检查相邻元素“array[j] > array[j+1]”,如果为真,则交换这两个元素。

步骤 7:使用 for 循环显示排序后的列表。


冒泡排序算法的实现使用了以下 Java 编程概念,请参阅这些主题以更好地理解


冒泡排序也可以在字符串上执行。请参阅我们 Java 程序集合中的字符串冒泡排序程序

Java 源代码

                                          import java.util.Scanner;

public class BubbleSort {
  public static void main(String []args) {
    int i,j,temp,limit;
    Scanner sc = new Scanner(System.in);
 
    System.out.println("Enter the limit of the numbers:");
    limit = sc.nextInt();
 
    int array[] = new int[limit];
 
    System.out.println("Enter " + limit + " numbers: ");
    for (i = 0; i <limit; i++) 
      array[i] = sc.nextInt();
 
    for (i = 0; i < ( limit - 1 ); i++) {
      for (j = 0; j < limit - i - 1; j++) {
        if (array[j] > array[j+1]) //swap the elements if first one is greater than second
        {
           temp = array[j];
           array[j] = array[j+1];
           array[j+1] = temp;
        }
      }
    }
 
    System.out.println("******Sorted list******");
    for (i = 0; i < limit; i++) 
      System.out.println(array[i]);
  }
}
                                      

输出

Enter the limit of the numbers:5
Enter 5 numbers: 
9
10
23
7
4
******Sorted list******
4
7
9
10
23