Java >> Java tutorial >  >> Java

Java-program til at finde det næststørste og mindste element i et array

I denne tutorial lærer vi, hvordan du finder de næststørste og næstmindste elementer i et array. Den nemmeste måde at finde de to største elementer på er ved først at sortere elementerne og derefter returnere de elementer, der er gemt ved arrayets 1. og næstsidste indeks. 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:7 6 9 2 4 1 3 6 9

Output: Næstmindste =2

Næststørste =7

Program 1:For at finde det næststørste og næstmindste element

I denne tilgang vil vi direkte finde det næststørste og næstmindste element i arrayet.

Algorithme

  1. Start
  2. Deklarer en matrix.
  3. Initialiser arrayet.
  4. Brug to til sløjfer for at vise det næststørste og næstmindste element i en matrix.
  5. Brug den første for-løkke til at holde hvert element i arrayet
  6. Brug den anden for-løkke til at sammenligne elementet med resten af ​​elementerne.
  7. Skift elementerne for at sortere elementerne.
  8. Vis det næststørste og næstmindste element.
  9. Stop

Nedenfor er koden til det samme.

Nedenstående program viser, hvordan man finder det næststørste og næstmindste element i et array. Først erklæres et array og initialiseres derefter. Ved hjælp af to for loops gentages alle elementerne i arrayet, og derefter sammenlignes og byttes elementerne i faldende rækkefølge. Vis derefter henholdsvis det næststørste og det næstmindste element.

/*Java Program to find the second largest and second smallest elements in the array without using Functions*/
import java.util.Scanner;

public class FindElement
{

     public static void main(String []args)
     {
         Scanner sc=new Scanner(System.in);
         int n;     //Declare array size
         System.out.println("Enter the size of the array");
         n=sc.nextInt();   //Initialize array size
         
         int arr[]=new int[n];   //Declare array 
        System.out.println("Enter the array");  
        for(int i=0;i<n;i++)     //Initialize array
        {
            arr[i]=sc.nextInt();
        }
               
        for(int i=0;i<n;i++)     //Use to hold the element
        {
            for(int j=i+1;j<n;j++)    //Use to compare with the rest of the elements 
            {
                if(arr[i]<arr[j])     //Check and swap
                {
                    int temp=arr[i];
                    arr[i]=arr[j];
                    arr[j]=temp;
                }
            }
        }
        
        System.out.println("Second Largest element is "+arr[1]);   //Display second largest element.
        System.out.println("Second Smallest element is "+arr[n-2]);  //Display second smallest element.
    }
}


Indtast størrelsen af ​​arrayet 10
Indtast arrayet 56 7 6 45 3 4 23 12 21 1
Andet Største element er 45
Andet Mindste element er 3

Program 2:For at finde det næststørste og næstmindste element

I denne tilgang vil vi bruge en separat metode til at finde det næstmindste og næststørste element i arrayet ved hjælp af Arrays.sort().

Algorithme

  1. Start
  2. Deklarer en matrix.
  3. Initialiser arrayet.
  4. Kald en metode, der viser det næststørste og det næstmindste element i en matrix.
  5. Sorter arrayet ved hjælp af Arrays.sort() .
  6. Vis elementerne ved det 1. og næstsidste indeks.
  7. Dette er det næststørste og næstmindste element.
  8. Stop

Nedenfor er koden til det samme.

Nedenstående program viser, hvordan man bruger en separat metode til at finde det næststørste og næstmindste element i et array ved hjælp af Arrays.sort() . Først erklæres et array og initialiseres derefter. En metode kaldes næste. Arrayet er sorteret ved hjælp af Arrays.sort() og elementet på 1. og næstsidst vises, hvilket er henholdsvis det næstmindste og næststørste element.

/*Java Program to find the second largest and second smallest elements in the array using Functions*/
import java.util.Scanner;
import java.util.*;

public class findElement
{
    static void findLargest(int arr[], int n)      //Method to find the second largest and second smallest element
     {
        
       Arrays.sort(arr);   //Sorts the array in ascending order
        
        System.out.println("Second Largest element is "+arr[n-2]);  //Display Second Smallest
        System.out.println("Second Smallest element is "+arr[1]);  //Display Second Largest
         
     }
     
     public static void main(String []args)
     {
         Scanner sc=new Scanner(System.in);
         int n;     //Declare array size
         System.out.println("Enter the size of the array");
         n=sc.nextInt();   //Initialize array size
         
         int arr[]=new int[n];   //Declare array 
        System.out.println("Enter the array");  
        for(int i=0;i<n;i++)     //Initialize array
        {
            arr[i]=sc.nextInt();
        }
               
        findLargest(arr,n);  //Function Call
        
    }
}


Indtast størrelsen af ​​arrayet 10
Indtast arrayet 8 7 9 5 4 3 8 6 1 2
Andet Største element er 8
Andet Mindste element er 2


Java tag