发布网友 发布时间:2022-05-02 16:09
共2个回答
热心网友 时间:2023-10-08 22:50
算法如下: void max(datatype A[],datatype m,datatype sm) //datatype为C语言标准数据类型 { int i; m=sm=A[1];//m存放最大值,sm存放次最大值 for(i=2;i<=n;++i) if(A[i]>m) { sm=m;m=A[i]; } else if(A[i]>sm) sm=A[i]; } 为了得到最大值和次最大值,必须经过n-1次循环,所以最坏的时间复杂度为n-1,即O(n)。热心网友 时间:2023-10-08 22:50
(2)找出数组A[1...n]元素的最大值和次最大值(本小题以数组元素的比较为标准操作)。(1)在数组A[1...n]中查找值为K的元素,若找到则输出其位置i(1 <=i<=n),否则输出0作为标志。