侧边栏壁纸
  • 累计撰写 278 篇文章
  • 累计创建 3 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

【数据结构】按照二叉树的每行个数打印数组

xuanxuan
2021-10-12 / 0 评论 / 0 点赞 / 4 阅读 / 788 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2024-02-14,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
    int num = hp.size;
    int front = 0;
    int back = 1;
    int row = 1;
    while (num)
    {
        for (int j = front; j < back; j++)
        {
            cout << hp.arr[j] << " ";
        }
        cout << endl;
        num -= row;//输出完本行还剩的元素个数
        //如果减去本行输出的个数小于0
        if (num <= 0)
        {
            break;
        }
        row *= 2;//下一行要输出的元素个数
        front = back;//定位下一行的起点
        if (num - row <= 0)//如果当前的元素个数不够输出下一行的,直接定位下一行的back位置
        {
            back = hp.size;
        }
        else// 够则——手动定位结尾位置
        {
            back += row;
        }
    }

在这里插入图片描述

0

评论区