【发布时间】:2013-05-08 20:29:00
【问题描述】:
例如:
array[] = {3, 9, 10, **12**,1,4,**7**,2,**6**,***5***}
首先,我需要最大值=12,然后我需要数组其余部分(1,4,7,2,6,5)中的最大值,所以值=7,然后数组6的其余部分的最大值,然后 5,在那之后,我将需要一系列这些值。这会返回 (12,7,6,5)。
如何获得这些数字? 我已经尝试了以下代码,但它似乎是无限的 我想我需要一个递归函数,但我该怎么做呢?
max=0; max2=0;...
for(i=0; i<array_length; i++){
if (matrix[i] >= max)
max=matrix[i];
else {
for (j=i; j<array_length; j++){
if (matrix[j] >= max2)
max2=matrix[j];
else{
...
...for if else for if else
...??
}
}
}
}
【问题讨论】:
-
你能使用标准库中的算法吗?
-
@yngum- OP 特别想要数组中第一个最大值之后的最大值。前四个值可能都在数组中的最大值之前。
-
@templatetypedef:实际上是不可能,因为最大值是前四个值之一,因此它不能是before 本身。但除了技术性......:P
标签: c++ arrays recursion max dynamic-arrays