按字母顺序对名称进行排序的Java程序
对于按字母顺序排序名称,有多种方法可以对数组进行排序,例如使用内置的 Arrays.sort() 方法或使用普通排序算法,如冒泡排序、归并排序。这里让我们使用冒泡排序和内置排序。
例子:
Input : Array[] = {"Sourabh", "Anoop, "Harsh", "Alok", "Tanuj"}
Output: Array[] = {"Alok", "Anoop", "Harsh", "Sourabh", "Tanuj"}
Input : Array[] = {"Bob", "Alice"}
Output: Array[] = {"Alice", "Bob"}
方法:蛮力方法
这个想法是在那里的 unicode 的基础上比较字符串,并根据使用 compareTo() 方法在两个字符串之间的比较的基础上根据返回的 int 值交换它们。
在输入中,用户必须输入名称的数量和名称,在输出中,它将按字母顺序排序和显示它们。为此,我们将使用 compareTo() 方法并将一个字符串与其余字符串进行比较。
CompareTo()用于按字典顺序比较两个字符串。两个字符串的每个字符都转换为其unicode值。字典顺序不过是字母顺序。
此方法返回一个 int 数据类型,它基于两个字符串之间的比较。如果它返回> 0,则传递给 compareTo() 方法的参数首先按字典顺序排列,而如果返回 < 0,则调用该方法的字符串按字典顺序排列是正确的。
脚步
- 使用CompareTo()方法将一个字符串与其余字符串进行比较
- 根据两个字符串之间的比较来交换元素。
- 按字母顺序打印排序的名称。
下面是上述方法的实现:
Java
// Java Program to Sort Names in an Alphabetical Order
import java.io.*;
class GFG {
public static void main(String[] args)
{
// storing input in variable
int n = 4;
// create string array called names
String names[]
= { "Rahul", "Ajay", "Gourav", "Riya" };
String temp;
for (int i = 0; i < n; i++) {
for (int j = i + 1; j < n; j++) {
// to compare one string with other strings
if (names[i].compareTo(names[j]) > 0) {
// swapping
temp = names[i];
names[i] = names[j];
names[j] = temp;
}
}
}
// print output array
System.out.println(
"The names in alphabetical order are: ");
for (int i = 0; i < n; i++) {
System.out.println(names[i]);
}
}
}
Java
// Java Program to Sort Names in an Alphabetical Order
import java.io.*;
import java.util.*;
class GFG {
public static void main(String[] args)
{
// storing input in variable
int n = 4;
// create string array called names
String names[]
= { "Rahul", "Ajay", "Gourav", "Riya" };
// inbuilt sort function
Arrays.sort(names);
// print output array
System.out.println(
"The names in alphabetical order are: ");
for (int i = 0; i < n; i++) {
System.out.println(names[i]);
}
}
}
输出
The names in alphabetical order are:
Ajay
Gourav
Rahul
Riya
时间复杂度: O(N 2 )
方法:内置排序函数
- 使用内置的 Arrays.sort() 方法对数组进行排序。
- 按字母顺序打印排序的名称。
下面是上述方法的实现:
Java
// Java Program to Sort Names in an Alphabetical Order
import java.io.*;
import java.util.*;
class GFG {
public static void main(String[] args)
{
// storing input in variable
int n = 4;
// create string array called names
String names[]
= { "Rahul", "Ajay", "Gourav", "Riya" };
// inbuilt sort function
Arrays.sort(names);
// print output array
System.out.println(
"The names in alphabetical order are: ");
for (int i = 0; i < n; i++) {
System.out.println(names[i]);
}
}
}
输出
The names in alphabetical order are:
Ajay
Gourav
Rahul
Riya
时间复杂度: O(n log n)