在此示例中,我们将学习在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扫描器类从用户那里获取输入。