Java 菜鸟教程

Java 流程控制

Java 数组

Java 面向对象(I)

Java 面向对象(II)

Java 面向对象(III)

Java 异常处理

Java 列表(List)

Java Queue(队列)

Java Map集合

Java Set集合

Java 输入输出(I/O)

Java Reader/Writer

Java 其他主题

Java 程序实现冒泡排序算法

Java 实例大全

在此示例中,我们将学习在Java中执行冒泡排序算法。

在学习Java中的冒泡排序算法之前,请确保您了解冒泡排序算法的工作原理。

示例:实现冒泡排序算法的Java程序

//导入类
import java.util.Arrays;
import java.util.Scanner;

class Main {

    //创建scanner的对象。
    //接受用户的输入
  Scanner input = new Scanner(System.in);

  //执行冒泡排序的方法
  void bubbleSort(int array[]) {
    int size = array.length;

    //用于升序或降序排序
    System.out.println("选择排序顺序:");
    System.out.println("1表示升序\n2表示降序");
    int sortOrder = input.nextInt();

    //运行循环两次
    //第一个循环访问数组的每个元素
    for (int i = 0; i < size - 1; i++)

      //第二个循环在每次迭代中执行比较
      for (int j = 0; j < size - i - 1; j++)

        //按升序对数组进行排序
        if (sortOrder == 1) {
          //比较相邻元素
          if (array[j] > array[j + 1]) {

            // 如果左侧元素大于右侧,则交换
            int temp = array[j];
            array[j] = array[j + 1];
            array[j + 1] = temp;
          }
        }

        //按降序对数组排序
        else {
          // 比较相邻元素
          if (array[j] < array[j + 1]) {

            //如果左侧元素小于右侧,则交换
            int temp = array[j];
            array[j] = array[j + 1];
            array[j + 1] = temp;
          }
        }

  }

  //main 方法
  public static void main(String args[]) {

    //创建数组
    int[] data = { -2, 45, 0, 11, -9 };

    //创建Main类的对象
    Main bs = new Main();

    //使用对象bs调用方法bubbleSort
    //将数组作为方法参数传递
    bs.bubbleSort(data);
    System.out.println("升序排列的数组:");

    //调用Arrays类的toString()
    //将数据转换为字符串
    System.out.println(Arrays.toString(data));
  }
}

输出 1

选择排序顺序:
1 表示升序 
2 表示降序
1
排序后的数组:
[-9, -2, 0, 11, 45]

在这种情况下,我们输入 1。因此,程序按升序对数组进行排序。

输出 2

选择排序顺序:
1 表示升序 
2 表示降序
2
排序后的数组:
[45, 11, 0, -2, -9]

在这种情况下,我们输入 2 。因此,程序按降序对数组进行排序。

注意:我们已经使用Java扫描器类从用户那里获取输入。

Java 实例大全