博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
打印树
阅读量:6976 次
发布时间:2019-06-27

本文共 631 字,大约阅读时间需要 2 分钟。

假设node的子节点都在children数组中。

void print_ast(Node* ptr, int depth) {  	int i;    	int n = (depth - 1) * 2;    	for (i = 0; i < n; i++) { 	       putchar(buffer[i]);	}	if (depth > 0) {		putchar('|');		putchar('_');	}    	n = depth * 2;    	buffer[n] = '|';    	buffer[n + 1] = ' ';    	if (!ptr->isLeaf()) {        	printf("%s\n", ptr->name);    	} else {        	printf("\033[1;33m%s\033[0m\n", ptr->name);    	}    	for (i = 0; i < ptr->size; i++) {        	if (i == ptr->size - 1) {            		buffer[n] = ' ';        	}        	print_ast(ptr->children[i], depth + 1);    	}}

  

转载于:https://www.cnblogs.com/shenbingyu/p/4961528.html

你可能感兴趣的文章
大型网站架构演变和知识体系
查看>>
jQuery EasyUI 表单插件 - Datebox 日期框
查看>>
要哭了,模拟器键盘一直不显示
查看>>
获取下个月的今天
查看>>
elasticsearch简介
查看>>
文件分区格式化及挂载
查看>>
Centos运行级别和开机过程
查看>>
Linux 装B之作酷炫小工具
查看>>
Citrix Avalon安装实验手册之一----Avalon概述及实验环境准备
查看>>
动态表单构建器——建造者模式
查看>>
Android 自动化测试
查看>>
MySQL 5.5 服务器变量详解(二)
查看>>
bootstrap table
查看>>
CentOS 7 yum 安装 MySQL5.7
查看>>
企业网络翻译官——DNS
查看>>
RocketMQ3.2.2生产者发送消息自动创建Topic队列数无法超过4个
查看>>
USG防火墙telnet实验
查看>>
[给12306支招]取消车票预订-采用全额预售(充值)
查看>>
linux下使profile和.bash_profile立即生效的方法
查看>>
Operations Manager 2012 SP1配置部署系列之(二) SCOM监控SCVMM
查看>>