Java >> Java tutorial >  >> Java

Java-program til at sortere et array i stigende rækkefølge

I denne øvelse lærer vi, hvordan man sorterer elementerne i et array i stigende 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: Indtast Array-elementerne:5 4 6 7 8 2 3 1 9

Output: Det sorterede array i stigende rækkefølge:1 2 3 4 5 6 7 8 9

Fremgangsmåde 1:Brug af løkker

Fremgangsmåde 2:Brug af Arrays.sort()

Lad os se på hver af disse metoder separat.

Program 1:Sorter elementerne i et array i stigende rækkefølge

I denne tilgang vil vi se, hvordan man bruger loops til at sortere et array i stigende rækkefølge. Vi kan sortere arrayet ved at bruge manuel sortering som at bruge til loops. Hvad vi kan gøre er at bruge to til sløjfer, en til at krydse arrayet fra starten og en anden til at sløjfe inde i den ydre for at krydse det næste element. I kroppen kan vi sammenligne de tilstødende elementer og bytte, hvis de ikke er i orden. Vi kan også bruge en midlertidig variabel til ombytning af elementer.

Algorithme

  1. Start
  2. Deklarer en matrix
  3. Bed brugeren om at initialisere arrayet
  4. Deklarer en midlertidig variabel for at gemme elementerne, mens du bytter.
  5. Brug to til sløjfer til det samme.
  6. Brug den første for-løkke til at holde elementerne og krydse gennem alle elementerne.
  7. Brug den anden for-løkke til at sammenligne med de resterende elementer.
  8. Sortér elementerne ved at sammenligne og bytte.
  9. Vis det opdaterede array.
  10. Stop

Nedenfor er koden til det samme.

Nedenstående program viser, hvordan man sorterer et array i stigende rækkefølge ved hjælp af loops.

/*Java Program to Sort an Array in Ascending Order*/
import java.util.Arrays;
import java.util.Scanner;
import java.util.Collections;

public class Main
{
    public static void main(String[] args)
    {
        Scanner sc=new Scanner(System.in);
        int n;    //Array Size Declaration
        System.out.println("Enter the number of elements :");
        n=sc.nextInt();    //Array Size Initialization
        
        Integer arr[]=new Integer[n];    //Array Declaration
        System.out.println("Enter the elements of the array :");
        for(int i=0;i<n;i++)     //Array Initialization
        {
            arr[i]=sc.nextInt();
        }
        
        int temp = 0;    //Temporary variable to store the element
        
         for (int i = 0; i < arr.length; i++)   //Holds each Array element
         {     
            for (int j = i+1; j < arr.length; j++)    //compares with remaining Array elements
            {     
               if(arr[i] > arr[j]) //Compare and swap
               {    
                   temp = arr[i];    
                   arr[i] = arr[j];    
                   arr[j] = temp;    
               }     
            }     
        }    
          
        System.out.println();    
            
        //Displaying elements of array after sorting    
        System.out.println("Elements of array sorted in ascending order: ");    
        for (int i = 0; i < arr.length; i++) 
        {     
            System.out.print(arr[i] + " ");    
        }    
    }
}


Indtast antallet af elementer :10
Indtast elementerne i arrayet :
6 7 8 4 3 5 1 8 9 7
Elementer i array sorteret i stigende rækkefølge:
1 3 4 5 6 7 7 8 8 9

Program 2:Sorter elementerne i et array i stigende rækkefølge

I denne tilgang vil vi se, hvordan man bruger Arrays.sort() til at sortere et array i stigende rækkefølge. Arrays-klassen af ​​'java.util'-pakken giver sorteringsmetoden, der tager et array som et argument og sorterer arrayet. Dette er en direkte sorteringsmetode, og arrayet kan sorteres i stigende rækkefølge med kun ét metodekald.

Algorithme:

  1. Start
  2. Deklarer en matrix
  3. Bed brugeren om at initialisere arrayet
  4. Brug Arrays.sort() til at sortere elementerne i stigende rækkefølge.
  5. Udskriv det opdaterede array.
  6. Stop

Nedenfor er koden til det samme.

Nedenstående program viser, hvordan man sorterer et array i stigende rækkefølge ved hjælp af Arrays.sort().

/*Java Program to Sort an Array in Ascending Order*/

import java.util.Arrays;
import java.util.Scanner;

public class AscendingOrder
{
    public static void main(String[] args)
    {
        Scanner sc=new Scanner(System.in);
        int n;    //Array Size Declaration
        System.out.println("Enter the number of elements :");
        n=sc.nextInt();    //Array Size Initialization
        
        int arr[]=new int[n];    //Array Declaration
        System.out.println("Enter the elements of the array :");
        for(int i=0;i<n;i++)     //Array Initialization
        {
            arr[i]=sc.nextInt();
        }
        
        Arrays.sort(arr);    //Sorts the Array in Ascending Order
 
        System.out.printf("Sorted arr[] : %s",
                          Arrays.toString(arr));   //Prints the sorted Array
    }
}


Indtast antallet af elementer :10
Indtast elementerne i arrayet :1 4 2 5 6 8 2 3 9 8
Sorteret arr[] :[1, 2, 2, 3, 4, 5, 6, 8, 8, 9]


Java tag