Java-program til at sortere et array i alfabetisk rækkefølge
I denne øvelse lærer vi, hvordan man sorterer elementerne i et array i alfabetisk rækkefølge. Sortering refererer til at arrangere data i rækkefølge enten alfabetisk eller numerisk. Men før du går videre, hvis du ikke er bekendt med begreberne for arrayet, så tjek artiklen Arrays in Java.
Input: a n m w r t s p
Output: a m n p r s t w
Ovenstående problem kan løses på følgende måder:
Fremgangsmåde 1:Brug compareTo()
Fremgangsmåde 2:Brug af Arrays.sort()
Fremgangsmåde 3:Brug af reverseOrder()
Lad os se på hver af disse metoder separat.
Program 1:Sorter et array i alfabetisk rækkefølge
I denne tilgang vil vi sortere et array i alfabetisk rækkefølge ved at sammenligne hvert element med de resterende elementer.
Algorithme
- Start
- Deklarer et array
- Initialiser arrayet
- Brug to til sløjfer til at sortere arrayet i alfabetisk rækkefølge.
- Brug den første for-løkke til at holde elementerne.
- Brug den anden for-løkke til at sammenligne med de resterende elementer.
- Brug compareTo() til at sammenligne.
- Skift array-elementerne.
- Udskriv det opdaterede array.
- Stop
Nedenfor er koden til det samme.
Nedenstående program viser, hvordan man sorterer et array i alfabetisk rækkefølge ved at bruge compareTo()
metode.
//Java Program to sort an array in alphabetical order.
import java.util.Arrays;
import java.util.Scanner;
public class Main
{
public static void main(String args[])
{
Scanner sc=new Scanner(System.in);
int n; //Declare the array size
System.out.println("Enter the number of elements ");
n=sc.nextInt(); //Initialize the array size
String fruits[]=new String[n]; //Declare the array
System.out.println("Enter the String ");
Scanner sc1=new Scanner(System.in);
for(int i=0; i<n ;i++) //Initialize the array
{
fruits[i]=sc1.nextLine();
}
//logic for sorting
for(int i = 0; i<n; i++) //Holds each element
{
for (int j = i+1; j<n; j++) //Check for remaining elements
{
//compares each elements of the array to all the remaining elements
if(fruits[i].compareTo(fruits[j])>0)
{
//swapping array elements
String temp = fruits[i];
fruits[i] = fruits[j];
fruits[j] = temp;
}
}
}
//prints the sorted array in alphabetical order
System.out.println(Arrays.toString(fruits));
}
}
Indtast antallet af array-elementer:10
Indtast array-elementerne:
Apple
Custard Apple
Banana
Kiwi
Guava
Orange
Papaya
Brombær
Dadler
Druer
[Æble, banan, brombær, cremeæble, dadler, druer, guava, kiwi, appelsin, papaya, ]
Program 2:Sorter et array i alfabetisk rækkefølge
I denne tilgang vil vi sortere et array i alfabetisk rækkefølge ved hjælp af Arrays.sort() metoden.
Algorithme
- Start
- Deklarer et array
- Initialiser arrayet
- Ring til
Arrays.sort()
funktion til at sortere arrayet i alfabetisk rækkefølge. - Udskriv det sorterede array.
- Stop.
Nedenfor er koden til det samme.
Nedenstående program viser, hvordan man sorterer et array i alfabetisk rækkefølge ved at bruge Arrays.sort()
metode.
//Java Program to sort an array in alphabetical order.
import java.util.Arrays;
import java.util.Scanner;
public class Main
{
public static void main(String args[])
{
Scanner sc=new Scanner(System.in);
Scanner sc1=new Scanner(System.in);
int n; //Declare array size
System.out.println("Enter the number of elements ");
n=sc.nextInt(); //Initialize array size
String str[]=new String[n]; //Declare array
System.out.println("Enter the String ");
for(int i=0; i<n ;i++) //Initialize array
{
str[i]=sc1.nextLine();
}
Arrays.sort(str); //Sort the array in alphabetical order
System.out.println(Arrays.toString(str)); //Display the array
}
}
Indtast antallet af elementer
5
Indtast strengen
frankrig
indien
kina
tyskland
italien
[Kina, Frankrig, Tyskland, Indien, Italien]
Program 3:Sorter et array i alfabetisk rækkefølge
I denne tilgang vil vi sortere et array i alfabetisk rækkefølge ved hjælp af Arrays.sort()
og sorter det igen i omvendt rækkefølge ved hjælp af reverseOrder()
metode.
Algorithme
- Start
- Deklarer et array
- Initialiser arrayet
- Ring til
Arrays.sort()
funktion til at sortere arrayet i alfabetisk rækkefølge. - Kald derefter
reverseOrder()
for at sortere arrayet i omvendt rækkefølge. - Udskriv det sorterede array.
- Stop.
Nedenfor er koden til det samme.
Forklaring:Nedenstående program viser, hvordan man sorterer et array i omvendt alfabetisk rækkefølge ved hjælp af reverseOrder()
metode.
/*Java Program to sort an array alphabetically in reverse order*/
import java.util.Arrays;
import java.util.Scanner;
import java.util.*;
public class Main
{
public static void main(String args[])
{
Scanner sc=new Scanner(System.in);
Scanner sc1=new Scanner(System.in);
int n; //Declare array size
System.out.println("Enter the number of elements ");
n=sc.nextInt(); //Initialize array size
String str[]=new String[n]; //Declare array
System.out.println("Enter the String ");
for(int i=0; i<n ;i++) //Initialize array
{
str[i]=sc1.nextLine();
}
Arrays.sort(str,Collections.reverseOrder()); //Sort the array in alphabetical order
System.out.println(Arrays.toString(str)); //Display the array
}
}
Indtast antallet af elementer
5
Indtast strengen
Mumbai
Pune
Chennai
Ranchi
Kolkata
[Ranchi, Pune, Mumbai, Kolkata, Chennai]