按照二叉树的每行个数打印数组
2024-06-24 08:13:04 阅读次数:15
c++,数据结构
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;
}
}
版权声明:本文内容来自第三方投稿或授权转载,原文地址:https://blog.51cto.com/u_15333750/5867232,作者:半生瓜的blog,版权归原作者所有。本网站转在其作品的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如因作品内容、版权等问题需要同本网站联系,请发邮件至ctyunbbs@chinatelecom.cn沟通。
上一篇:Oracle性能优化学习笔记之WHERE子句中的连接顺序
下一篇:DQL、DML、DDL、DCL的概念与区别