PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
C_and_CPP
关于tree traversal
楼主:
yang20913
(yanggood)
2017-11-18 19:23:49
preorder, inorder, postorder
这三种traversal可以很轻松的用recursive来完成
以往格式要求都是
1(空格)2(空格)3(空格)
这样就印成功了
但现在要求
1(空格)2(空格)3
印出的最后一个元素后面不能接空格
想请问要如何判断哪一个会是最后一个呢
目前只想出用大量判断式
但这应该不是个好方法...
作者:
plsmaop
(plsmaop)
2017-11-20 20:27:00
C++的话节点存vector,传vector的ref给递回式,最后forloop输出vector的0到size()-2个,每输出一个就输出一个空格,然后最后一个输出就不用加空格啊soory没看到要在函式内
作者:
alan23273850
2017-11-20 08:19:00
楼上暴露身份囉 嘻嘻
作者:
Hazukashiine
(私は幸せです)
2017-11-18 19:33:00
一个比较肮脏的手法是 每个节点改成 先印空白再输出数字 然后用一个旗标变量 让第一个节点不输出空白
楼主:
yang20913
(yanggood)
2017-11-18 19:42:00
谢谢你的建议 可是不能改节点QQ
作者:
Hazukashiine
(私は幸せです)
2017-11-18 19:47:00
如果只是要让接口输出漂亮而不在乎掺杂控制字符的话可以使用 puts("\b"); 来输出 Backapace Character
https://en.wikipedia.org/wiki/Control_character
不过这东西尽量少用 常常会让 stdout parsing 错误
作者:
school4303
(某爬虫类)
2017-11-18 20:02:00
感觉这是作业 你会知道有多少节点吗?
作者:
ilikekotomi
(Young)
2017-11-18 20:07:00
可以先印出空格在印出元素 因为你一定知道第一个是谁所以第一个不要印空格就达成你需求了
楼主:
yang20913
(yanggood)
2017-11-18 20:08:00
H大的我有想过 但那要在函式外(整个recursive)跑完才能倒退
作者:
ilikekotomi
(Young)
2017-11-18 20:10:00
H大讲得不会改到节点 只有改变节点的输出方式用flag纪录有没有print过 没有的就是第一个
作者:
Hazukashiine
(私は幸せです)
2017-11-18 20:13:00
不慌不慌 >\\\<
作者:
school4303
(某爬虫类)
2017-11-18 20:17:00
那就偷懒一点 纪录一下你输出几个 最后一个不要空格就好
作者:
stupid0319
(征女友)
2017-11-18 21:35:00
printf("%d %d %d", preorder, inorder, postorder);这样呢
作者:
alan23273850
2017-11-18 21:54:00
第二个念头想到的想法是先把他们全部丢到一个字串里面,再从那个字串检查最后一个字符是不是空白,是的话就把它砍掉,不过仅限于节点数少的时候,而且很浪费空间
作者: cons (一年后)
2017-11-19 19:47:00
我是想到用一个static bool 初始是trueprint是"空白""值",true时只印值,print后就把bool改true改false和i大的说法是一样的
作者:
alan23273850
2017-11-19 21:53:00
在靠清看到一样的题目耶XD 原PO是114 der?
作者:
GYLin
(Lynx)
2017-11-20 06:55:00
我在靠清有回你你有看吗
作者:
Killercat
(杀人猫™)
2017-11-25 09:07:00
SQL command常常用到类似的东西 XD
继续阅读
[问题] HID 多软件握手问题
MOONY135
[问题] cin.get()与cin.getline()有什么不同?
freexq
Re: [问题] void指标输出值问题
Hazukashiine
[问题] void指标输出值问题
rice9547
[心得] 浮点和十进制转换之3种方法
eecheng87
[问题]会JAVA学C++ 参考书
MoonPow
Re: [问题] 二进制转float.double
wei115
[问题] (已解决)特殊的变量/函式宣告方式的意义
layu19920414
Re: [问题] 二进制转float.double
cutekid
Re: [问题] 二进制转float.double
alan23273850
Links
booklink
Contact Us: admin [ a t ] ucptt.com