Ordenar una array de strings en orden lexicográfico (orden del diccionario) usando dos enfoques:
- Mediante el uso de cualquier técnica de clasificación para ordenar los elementos de la array.
- Al usar la función sort() presente en la clase Arrays en el paquete util en java.
Ejemplo:
Input : Harit Girish Gritav Lovenish Nikhil Harman Output: Girish Gritav Harit Harman Lovenish Nikhil Input : Bob Alice Output: Alice Bob
Enfoque 1: Técnica de clasificación simple.
En este enfoque, dos strings se comparan utilizando el método compareToIgnoreCase() de la clase String.
Funciones utilizadas:
int compareToIgnoreCase(String);
Valor de retorno:
- 0 si el argumento es una string lexicográficamente igual a esta string.
- Menos de 0 si el argumento es una string lexicográficamente mayor que esta string.
- Mayor que 0 si el argumento es una string lexicográficamente menor que esta string.
Un programa Java para ordenar una array de strings en orden lexicográfico utilizando la técnica de clasificación :
Java
// Java Program to Sort Elements in // Lexicographical Order (Dictionary Order) import java.io.*; class GFG { // this method sort the string array lexicographically. public static void sortLexicographically(String strArr[]) { for (int i = 0; i < strArr.length; i++) { for (int j = i + 1; j < strArr.length; j++) { if (strArr[i].compareToIgnoreCase(strArr[j]) > 0) { String temp = strArr[i]; strArr[i] = strArr[j]; strArr[j] = temp; } } } } // this function prints the array passed as argument public static void printArray(String strArr[]) { for (String string : strArr) System.out.print(string + " "); System.out.println(); } public static void main(String[] args) { // Initializing String array. String stringArray[] = { "Harit", "Girish", "Gritav", "Lovenish", "Nikhil", "Harman" }; // sorting String array lexicographically. sortLexicographically(stringArray); printArray(stringArray); } }
Girish Gritav Harit Harman Lovenish Nikhil
Complejidad de tiempo: O(n 2 ), donde n es el tamaño de una array.
Enfoque 2: mediante el uso de Arrays.sort()
En este enfoque, se utiliza el método sort() en un método de clase java.utils.Arrays .
Funciones utilizadas:
Arrays.sort(stringArray, String.CASE_INSENSITIVE_ORDER); // First Parameter : Name of Array // Second Parameter: Special command to ignore case while sorting.
Un programa java para ordenar una array de strings en orden lexicográfico usando el método Arrays.sort() :
Java
// Java Program to Sort Elements in // Lexicographical Order (Dictionary Order) import java.io.*; import java.util.Arrays; class GFG { // this function prints the array passed as argument public static void printArray(String strArr[]) { for (String string : strArr) System.out.print(string + " "); System.out.println(); } public static void main(String[] args) { // Initializing String array. String stringArray[] = { "Harit", "Girish", "Gritav", "Lovenish", "Nikhil", "Harman" }; // sorting String array in Lexicographical Order. // Ingonring the case of string. Arrays.sort(stringArray, String.CASE_INSENSITIVE_ORDER); // printing String array after sorting. printArray(stringArray); } }
Girish Gritav Harit Harman Lovenish Nikhil
Complejidad de tiempo: O ( n log n )
Publicación traducida automáticamente
Artículo escrito por girishthareja23 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA