对数组a[N]:取a[0],a[1]中较小者记为t,较大者记为s
从a[2]遍历至数组尾部
(1) 如果a[i] <= t,跳过
(2) 如果a[i] > t
(2.1) 如果a[i] <= s,t=a[i]
(2.2) 如果a[i] > s,t=s,s=a[i]
时间复杂度O(n)
求以为数组中第二大的值,并返回其位置
2010-08-27 20:42
一开始想的是对的,可惜,习惯了修修改改,当时没有能够迅速的写出来。。。
本程序在Dev—C++下调试通过,如果有更高效率的算法,欢迎指教! |