Java程序查找数组中第二小的数字

要查找给定数组的第二个最小元素,请对数组进行排序。

排序数组

  • 比较数组的前两个元素

  • 如果第一个元素大于第二个元素,则将其交换。

  • 然后,如果第二个元素大于第三个元素,则比较第二个和第三个元素。

  • 重复此操作,直到数组结尾。

对数组排序后,打印数组的第二个元素。

示例

public class SmallestNumberInAnArray {
   public static void main(String args[]){
      int temp, size;
      int array[] = {10, 20, 25, 63, 96, 57};
      size = array.length;

      for(int i = 0; i<size; i++ ){
         for(int j = i+1; j<size; j++){
            if(array[i]>array[j]){
               temp = array[i];
               array[i] = array[j];
               array[j] = temp;
            }
         }
      }
      System.out.println("2nd Smallest element of the array is:: "+array[0]);
   }
}

输出结果

The 2nd Smallest element of the array is:: 10

另一种解决方案

您还可以使用java.util.Arrays类的sort方法对给定数组的元素进行排序,然后打印数组的第二个元素。

示例

import java.util.Arrays;
public class LargestNumberSample {
   public static void main(String args[]){
      int array[] = {10, 20, 25, 63, 96, 57};
      int size = array.length;
      Arrays.sort(array);
      System.out.println("sorted Array ::"+Arrays.toString(array));
      int res = array[1];
      System.out.println("2nd smallest element is ::"+res);
   }
}

输出结果

sorted Array ::[10, 20, 25, 57, 63, 96]
largest element is ::20