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 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题