Java程序查找数组中的第三大数字

要查找给定数组的第三大数字,首先,对数组进行排序。

排序数组

  • 比较数组的前两个元素

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

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

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

  • 对数组排序后,从数组末尾打印第三个元素。

示例

public class ThirdLargestNumberInAnArray {
   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("Third largest number is:: "+array[size-3]);
   }
}

输出结果

Third largest number is:: 57

另一种解决方案

您还可以使用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 max = array[size-3];
      System.out.println("3rd largest element is :"+max);
   }
}

输出结果

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