interwangzi2012 2015-08-20 15:14 采纳率: 0%
浏览 3124

求助:数组中找两个最大的数

//算法一:依次扫描,分别找出A[x1]和A[x2]
void max2_1(int A[], int lo, int hi, int &x1, int &x2)  //1 < n = hi - lo
{
    for(int i = lo + 1, x1 = lo; i < hi; i++) //扫描A[lo,hi),找出A[x1]
    {
        if(A[x1] < A[i])
            x1  = i;      //hi-lo-1=n-1 
    }
    int x2L = lo;
    int x2R = 0;
    int t = x1;
    for(int i = lo + 1; i < t; i++) //扫描A[lo,x1)
    {
        if(A[x2L] < A[i])
            x2L = i;      //x1-lo-1
    }
    for(int i = t + 1; i < hi; i++) //扫描A[x1,hi)
    {
        if(A[x2R] < A[i])
            x2R = i;     //hi-x1-1
    }
    x2 = (x2L > x2R) ? x2L : x2R;
} 

int main()
{
        int a[9] = {2,3,7,8,9,5,4,6,1};
        max2_1(a, 1, 6, x1, x2);
        cout << x1 << " " << x2 << endl;
        return 0;
}

这是一个在数组中找最大两个数的简单程序。在函数max2_1中int t = x1 在debug时,x1 =4, t却一直为0,请问这是为什么

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-20 17:47
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥20 Python安装cvxpy库出问题
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥15 python天天向上类似问题,但没有清零
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 C#调用python代码(python带有库)
  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题