首页 > 试题广场 > 在一个有8个int数据的数组中,随机给出数组的数据,找出最大
[不定项选择题]
在一个有8个int数据的数组中,随机给出数组的数据,找出最大和第二大元素一定需要进行几次比较(     )
  • 8
  • 9
  • 10
  • 11
第一次分组8个分成4组 两两一组 比4次 第二次分组为上面比较下来的4个还是两两分组 分2组 第三次分组就剩下两个直接比较出了最大 这时一共比较了4+2+1=7次 接着拿第三次分组中与最大比较的那个数分别和 之前与最大那个数比较过的数比较 分别是第一次分组有一个 第二次分组有一个 7+2=9
发表于 2019-09-03 00:51:39 回复(0)
将8个数据俩俩分组比较,需要7次得到最大元素,假设为E,那么第二大元素的取值范围为图中的黄色部分,需要2次比较得出,所以一共是9次。

发表于 2019-11-27 15:37:31 回复(0)
个人认为在这种条件下,最少只需要8次
int a=INT32_MIN,b;
for(int i=0;i<8;i++)
{
    if(arr[i]>=a)
    {
        b=a;
        a=arr[i];
    }
}


编辑于 2020-01-17 19:27:26 回复(2)

问题信息

上传者:小小
难度:
3条回答 276浏览

热门推荐