c queue count

typedef struct biTreeNode {
struct biTreeNode * left;
struct biTreeNode * right;
void * data;
} bitree, bitreenode;
//queue是一个链式队列,因为不知道每一层会有多少个节点
//de_queue是出队列函数,返回可以设定为通用的void *,之后自己强转
//en_queue为入队函数
int count_node(queue * q)
{
bitreenode * node;
int count = 0;
int left = q -> count;
while (left --) {
node = (bitreenode *)de_queue(q);
count ++;
if (node -> left)
en_queue(q, node ->left);
if (node -> right)
en_queue(q, node ->right);
}
return count;
}
int print_tree_level_count(bitree * tree)
{
queue q;
int count;
int level = 1;
en_queue(&q, tree);
//count为队列q中的元素个数
while (q.count) {
printf("level %d: %d", level ++, count_node(&q));
}
}
int main(void)
{
bitree * tree;
//自己初始化tree
print_tree_level_count(tree);
return 0;
}Status HierarchyBiTree(BiTree T, Status (*Visit)(TElemType e)) {
LinkQueue *Q; // 保存当前节点的左右孩子的队列

InitQueue(Q); // 初始化队列

if (T == NULL) return ERROR; //树为空则返回
p = T; // 临时保存树根T到指针p中
Visit(p->data); // 访问根节点
if (p->lchild) EnQueue(Q, p->lchild); // 若存在左孩子,左孩子进队列
if (p->rchild) EnQueue(Q, p->rchild); // 若存在右孩子,右孩子进队列

while (!QueueEmpty(Q)) { // 若队列不空,则层序遍历
DeQueue(Q, p); // 出队列
Visit(p->data); // 访问当前节点

if (p->lchild) EnQueue(Q, p->lchild); // 若存在左孩子,左孩子进队列
if (p->rchild) EnQueue(Q, p->rchild); // 若存在右孩子,右孩子进队列
}

DestroyQueue(Q); // 释放队列空间
return OK;
}不知道
喜欢阅读
  • 逆世为尊

    逆世为尊

    战皇江昊,逆天轮回十世,得天地灵宝,屠神伐仙!

  • 封神证道

    封神证道

    元神大陆最高峰之上,易烈身穿黑袍,肩背一把漆黑武器,目光锐利的遥望着天际。凄惨的童年造就了坚毅的性格,因女友莫名被抓,无奈踏上了修练之路。待历尽千辛万苦之后终于救出女友,恍然发现,自己所做的一切竟是别人一手安排的阴谋。看主角如何乘风破浪,层层揭开这片大陆主宰者的阴谋,最终又如何成神……

  • 天降桃运

    天降桃运

    世界上居然还有被三个美女逼着合租的事,她们各有来头,一边使劲儿用他,一边使劲儿帮他。一男三女,不世情缘。

  • 嫡女谋:天命凰途

    嫡女谋:天命凰途

    她生于高门,长于望族,看惯了勾心斗角,习惯了权力厮杀。从王府到深宫,从倾国倾城的高门嫡女到尊贵无比的后宫之主,她可以把自己深爱的男人送上龙椅,也可以用铁血手腕翻覆乱世!天下为局,江山为子,芊芊素手拨动暗涌风云。王府魑魅魍魉蛰伏,帝王心思难以捉摸,朝堂波暗诡谲不断,各路白莲纷纷涌现。江山?美人?舍我其谁?沙场点兵,她挥斥方遒,后宅夺嫡,她艳杀天下。金戈铁马,万里江山,总敌不过他一句“待我君临天下,定以江山为聘,天下为媒!”

  • 寂寞婚途

    寂寞婚途

    姐姐死了,她成了新娘。婚礼当天,她被准姐夫压在化妆间的地板上肆意羞辱。他是她挚爱的男人,却在婚礼当天,亲手将她送进了监狱。三年的牢狱生活,磨平了她所有的棱角。“恨,就去报仇。”三年后,她浴血归来。她说:郁时年,孩子不是你的。她说:郁时年,我不爱你了,再也不。后来,郁时年看着空空的墓碑,才知道,从一开始,他就爱错了人,也恨错了人。

  • 无双玄医

    无双玄医

    七年前遭遇迫害,父亲过世,他被迫离开。七年后归来时,他已非池中之物,通医武玄学,知晓天地阴阳。若我愿意,这天下钱权名利垂手而得,昔日伤害过我的,背叛过我的,今日必十倍奉还。

  • 职路强豪

    职路强豪

    小职员逆袭白富美,当上总经理,出任CEO,走上人生巅峰。

  • 万道唯尊

    万道唯尊

    地暖,白酒,麻将,永丰领牌风靡整个大陆。强弩,手雷,火箭,让整个异世界大陆颤抖。赵丰年的天赋堪称妖孽,又有神龙,奇兽助其夺宝防身。看一个平凡人灵魂穿越,身侧香风环绕,玩转渺渺红尘;手御万千强者,战胜重重困难,成就一代最强领主!

  • 猜你喜欢
  • 热门推荐
  • cote bastide argan
  • 已知bn 2an 1 2 n
  • 回收旧衣服
  • 日本cosplaymv
  • 沈曼的土豪
  • 怎么样做牛排
  • 英雄联盟yy盒子
  • vernier手表介绍
  • bash的path
  • win10能下amd催化剂吗
  • pelvis angle
  • xmlreader parse
  • 小米miui9 一键锁屏
  • mac重装找不到硬盘
  • shuanglongwushen
  • 好好先生 双马尾萝莉
  • 索尼kdl 65w850b
  • runningman20140316期
  • dnf2018 1月4更新
  • 国际反垄断法案例
  • All Right Reserved 安福网