给定一个序列,取出其中第二大的数,要求不对整个序列排序

来源:互联网 发布:md文件js 编辑:程序博客网 时间:2024/06/14 04:56

<分析>:循环整个序列,以第一数为最大值max,当下一个数大于max时,先将max赋值给maxSecond,再将这个数赋值给max;否则如果这个数小于max且大于maxSecond,就将这个数赋值给maxSecond。

package com.nd;/** *  * @author zy * @date 2017年10月10日 上午8:52:37 * @Decription 给定一个序列,取出其中第二大的数,要求不对整个序列排序  */public class Ex2 {public static void main(String[] args) {int[] arr = {5,6,98,45,212,36,96,48,99,98,212,200,200};GetSecondMaxNumber(arr,arr.length);}static void GetSecondMaxNumber(int[] arr,int length){int i ,max,secondMax;max=arr[0];secondMax=Integer.MIN_VALUE;for(i=1;i<length;i++){if (arr[i]>max) {secondMax=max;max=arr[i];}else if (arr[i] < max && secondMax <arr[i]) {secondMax=arr[i];}}System.out.println("第二大的数为"+secondMax);}}


阅读全文
0 0
原创粉丝点击