您的位置:首页 > 其它

用最优的算法求出一个int类型数组中的第二大值

2011-11-27 11:46 204 查看
public class array {

/**

* @param args

*/

public static void main(String[] args) {

int[] array={1,2,23,22,34,32,43,60,54,65};

/*int[] array={10,10,10,10,10,10,10,10,10,10,10};*/

int len=array.length;

int i, max, smax; //i:循环变量,max:数组中的最大值,smax:数组中的第二大值

max=array[0]; //数组中第一个元素赋值给max

smax=array[0]; //数组中第一个元素赋值给smax

for(i=0;i<len;i++ ){

if(array[i]>max){

//如果array[i]>max则改变smax和max的值

smax=max;

max=array[i];

}

else if(array[i]>smax && array[i]<max){

//如果array[i]值在smax和max之间则改变smax的值

smax=array[i];

}

}

if(smax==max){

System.out.print("这个数组中的元数都相同!");

}

else{

System.out.print("这个数组中的第二大数为:"+smax);

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐