我有一个我不知道的大小的数组(大多数是10的大小), 大多数都有1和2,但有时3和4 ... 我不能排序,因为订单是importhan,但除此之外,我可以做任何事情
谢谢:)
答案 0 :(得分:2)
迭代数组直到你达到休息状态。
在迭代(使用for
或while
循环)时,请记住目前为止的最高值并与当前值进行比较。
答案 1 :(得分:2)
我现在无法访问支持此功能的编译器,但这里有一个如何在C ++ 11中执行此操作的简明示例:
#include <iostream>
constexpr int array[10] = { 1, 0, 2, 3, 0, 2, 7, 1, 9, 2 };
template<int maxest, int index>
struct find_biggest_r {
enum { value = find_biggest_r<(array[index] > maxest ? array[index]:maxest),index-1>::value };
};
template<int maxest>
struct find_biggest_r<maxest,0> {
enum { value = (array[0] > maxest ? array[0] : maxest) };
};
template<int index>
struct find_biggest {
enum { value = find_biggest_r<array[index],index-1>::value };
};
int main()
{
std::cout << find_biggest<9>::value;
}
//
现在我在C中完成了拖钓,你会这样做:
int array[4] = { 2, 1, 0, 2 };
int biggest = array[0];
for (int i = 1; i < 4; i++) { // we've already used array[0] so we start at array[1]
if (array[i] > biggest) biggest = array[i];
}
答案 2 :(得分:1)
我只会给出伪代码
max := array[0];
for i = 1 to size
if(array[i] > max)
{
max := array[i]
}
答案 3 :(得分:1)
开始在for循环中遍历数组。 取一个变量,默认情况下将第一个元素放在其中并假设为最高。 当你遍历时,当你发现一个大于变量值的元素时,只需要替换它。 在循环结束时,该值包含最大数字。
答案 4 :(得分:1)
你可以试试这个: -
int max = array[0];
for (int j = 1 to size)
{
if(array[j] > max)
{
max = array[j];
}
}