📌  相关文章
📜  按字母顺序对名称进行排序的Java程序

📅  最后修改于: 2022-05-13 01:54:36.715000             🧑  作者: Mango

按字母顺序对名称进行排序的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)