1. 程式人生 > >求數組第二大的數(選擇排序)

求數組第二大的數(選擇排序)

turn args urn out ret for arr pri system

定義一個最大 和第二大的數
每次循環都判斷數組中是否有比最大的數大的有則交換兩者的值
同時 把原來最大數的值賦值給第二大的


public class SecondMax {
    public static int FindSecMax(int[] data) {
        int count = data.length;
        int maxnumber = data[0];
        int sec_max = Integer.MIN_VALUE;
        for(int i = 1;i<count;i++) {
            if(data[i]>maxnumber) {
                sec_max = maxnumber;
                maxnumber=data[i];
            }
            else {
                if(data[i]>sec_max)
                    sec_max = data[i];
            }
        }
        return sec_max;
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int[] array = {7,3,19,40,4,7,1};
        System.out.println(FindSecMax(array));
    }

}

求數組第二大的數(選擇排序)