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