在这里,我们将解释如何编写一个 Java 程序来对字符串执行冒泡排序。冒泡排序也用于对整数数组进行排序,我们的 Java 程序集合中有一个对数字执行冒泡排序的程序,您也可以查看。
这里我们首先声明一个字符串数组来存储字符串。然后,通过使用嵌套的for 循环,比较字符串与相邻字符串。如果字符串未按排序顺序排列,则交换它们。
为了更好地理解该程序,我们建议您学习下面列出的 Java 编程基础知识
冒泡排序算法将对数组的元素进行排序。在冒泡排序中,第一个元素将与其余元素进行比较,当获得较小元素时会发生交换。所以,
for 循环的第一次迭代后,第一个已排序的元素,即数组中最大的元素,将被放置在最后一个索引处for 循环的每次迭代中继续进行,在最后一次迭代之后,我们将得到完全排序的数组。
我们可以使用 compareTo() 方法比较字符串。
compareTo() 函数返回 零 。首先,我们必须声明类 BubbleSort。然后打开主函数。声明字符串数组 s_arr[],并赋一些值。声明一个临时字符串变量 tmp。通过使用嵌套的 for 循环,使用 compareTo() 方法检查相邻字符串。如果函数返回负值,则交换元素。然后显示已排序的数组。
步骤 1:使用公共修饰符声明类 BubbleSort。
步骤 2:打开**main()**函数以启动程序,Java程序的执行从**main()**开始
步骤 3:声明一个带有字符串的字符串数组 s_arr[],以及整数变量 i,j。
步骤 4:声明一个临时变量 tmp。
步骤 5:通过使用嵌套的 for 循环,条件为 i < 数组大小 且 j < 数组大小 - i - 1(重新调整边界或应该进行比较的最后位置,在每个已排序元素放置之后)执行步骤 6
步骤 6: 检查是否 s_arr[j+1].compareTo(s_arr[j]) > 0,意味着较小的字符串在最高索引处,然后按如下方式交换元素
步骤 7:显示已排序的字符串数组 s_arr。
public class BubbleSort {
public static void main(String[] args) {
int i,j;
String s_arr[] = {
"Richard",
"John",
"Williams",
"Peter",
"Aron"
};
String tmp;
System.out.println("Sorted Strings:");
for ( i = 0 ; i < s_arr.length ; i++) {
for ( j = 0 ; j < s_arr.length-i-1 ; j++) {
if (s_arr[j+1].compareTo(s_arr[j]) > 0) {
tmp = s_arr[j];
s_arr[j] = s_arr[j+1];
s_arr[j+1] = tmp;
}
}
System.out.println(s_arr[j]);
}
}
}
Sorted Strings: Aron John Peter Richard Williams