﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-qinzuoyan</title><link>http://www.cppblog.com/qinzuoyan/</link><description /><language>zh-cn</language><lastBuildDate>Thu, 09 Apr 2026 05:39:47 GMT</lastBuildDate><pubDate>Thu, 09 Apr 2026 05:39:47 GMT</pubDate><ttl>60</ttl><item><title>分解质因子</title><link>http://www.cppblog.com/qinzuoyan/archive/2010/12/13/136248.html</link><dc:creator>左言</dc:creator><author>左言</author><pubDate>Sun, 12 Dec 2010 16:19:00 GMT</pubDate><guid>http://www.cppblog.com/qinzuoyan/archive/2010/12/13/136248.html</guid><wfw:comment>http://www.cppblog.com/qinzuoyan/comments/136248.html</wfw:comment><comments>http://www.cppblog.com/qinzuoyan/archive/2010/12/13/136248.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/qinzuoyan/comments/commentRss/136248.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qinzuoyan/services/trackbacks/136248.html</trackback:ping><description><![CDATA[
<div style="background-color: rgb(238, 238, 238); font-size: 13px; border-left-color: rgb(204, 204, 204); padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; "><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000; ">#include&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">iostream</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br>#include&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">cmath</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br></span><span style="color: #0000FF; ">using</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">namespace</span><span style="color: #000000; ">&nbsp;std;<br><br></span><span style="color: #008000; ">/*</span><span style="color: #008000; "><br>long&nbsp;long&nbsp;max(long&nbsp;long&nbsp;n)<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;long&nbsp;long&nbsp;i=2;<br>&nbsp;&nbsp;&nbsp;&nbsp;while(n&nbsp;!=&nbsp;1)<br>&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;(n&nbsp;%&nbsp;i&nbsp;==&nbsp;0)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n&nbsp;/=&nbsp;i;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i++;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;i-1;<br>}<br></span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br><br></span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;return&nbsp;the&nbsp;max&nbsp;prime&nbsp;factor&nbsp;of&nbsp;n</span><span style="color: #008000; "><br></span><span style="color: #0000FF; ">long</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">long</span><span style="color: #000000; ">&nbsp;max(</span><span style="color: #0000FF; ">long</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">long</span><span style="color: #000000; ">&nbsp;n)<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">long</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">long</span><span style="color: #000000; ">&nbsp;i</span><span style="color: #000000; ">=</span><span style="color: #000000; ">2</span><span style="color: #000000; ">;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">long</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">long</span><span style="color: #000000; ">&nbsp;m&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #0000FF; ">long</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">long</span><span style="color: #000000; ">)sqrt(n);<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">while</span><span style="color: #000000; ">(i&nbsp;</span><span style="color: #000000; ">&lt;=</span><span style="color: #000000; ">&nbsp;m)<br>&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(n&nbsp;</span><span style="color: #000000; ">%</span><span style="color: #000000; ">&nbsp;i&nbsp;</span><span style="color: #000000; ">==</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n&nbsp;</span><span style="color: #000000; ">/=</span><span style="color: #000000; ">&nbsp;i;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #0000FF; ">long</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">long</span><span style="color: #000000; ">)sqrt(n);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">else</span><span style="color: #000000; ">&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i</span><span style="color: #000000; ">++</span><span style="color: #000000; ">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;n;<br>}<br><br></span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;main()<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;max(</span><span style="color: #000000; ">13195</span><span style="color: #000000; ">)&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;endl;<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;max(600851475143LL)&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;endl;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br>}<br></span></div><img src ="http://www.cppblog.com/qinzuoyan/aggbug/136248.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qinzuoyan/" target="_blank">左言</a> 2010-12-13 00:19 <a href="http://www.cppblog.com/qinzuoyan/archive/2010/12/13/136248.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>二叉树非递归遍历</title><link>http://www.cppblog.com/qinzuoyan/archive/2010/10/22/130882.html</link><dc:creator>左言</dc:creator><author>左言</author><pubDate>Fri, 22 Oct 2010 06:23:00 GMT</pubDate><guid>http://www.cppblog.com/qinzuoyan/archive/2010/10/22/130882.html</guid><wfw:comment>http://www.cppblog.com/qinzuoyan/comments/130882.html</wfw:comment><comments>http://www.cppblog.com/qinzuoyan/archive/2010/10/22/130882.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/qinzuoyan/comments/commentRss/130882.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qinzuoyan/services/trackbacks/130882.html</trackback:ping><description><![CDATA[
<div style="background-color: rgb(238, 238, 238); font-size: 13px; border-left-color: rgb(204, 204, 204); padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; "><span style="color: #000000; ">#include&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">iostream</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br>#include&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">stack</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br>#include&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">map</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br></span><span style="color: #0000FF; ">using</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">namespace</span><span style="color: #000000; ">&nbsp;std;<br><br></span><span style="color: #0000FF; ">struct</span><span style="color: #000000; ">&nbsp;Node&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;v;<br>&nbsp;&nbsp;&nbsp;&nbsp;Node&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">lchild;<br>&nbsp;&nbsp;&nbsp;&nbsp;Node&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">rchild;<br>};<br><br></span><span style="color: #0000FF; ">struct</span><span style="color: #000000; ">&nbsp;StackNode&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;Node&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">ptr;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;flag;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;1&nbsp;means&nbsp;the&nbsp;right&nbsp;sub-tree&nbsp;has&nbsp;been&nbsp;travelled</span><span style="color: #008000; "><br></span><span style="color: #000000; ">};<br><br></span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;visit(Node&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">p)<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;p</span><span style="color: #000000; ">-&gt;</span><span style="color: #000000; ">v&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">'</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">'</span><span style="color: #000000; ">;<br>}<br><br></span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;preorder_travel(Node&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">root)<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(root&nbsp;</span><span style="color: #000000; ">==</span><span style="color: #000000; ">&nbsp;NULL)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">;<br>&nbsp;&nbsp;&nbsp;&nbsp;stack</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">Node</span><span style="color: #000000; ">*&gt;</span><span style="color: #000000; ">&nbsp;s;<br>&nbsp;&nbsp;&nbsp;&nbsp;Node&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">p&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;root;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">while</span><span style="color: #000000; ">&nbsp;(p&nbsp;</span><span style="color: #000000; ">||</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">!</span><span style="color: #000000; ">s.empty())<br>&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">while</span><span style="color: #000000; ">&nbsp;(p)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s.push(p);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;visit(p);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;p</span><span style="color: #000000; ">-&gt;</span><span style="color: #000000; ">lchild;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #000000; ">!</span><span style="color: #000000; ">s.empty())<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;s.top();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s.pop();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;p</span><span style="color: #000000; ">-&gt;</span><span style="color: #000000; ">rchild;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>}<br><br></span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;inorder_travel(Node&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">root)<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(root&nbsp;</span><span style="color: #000000; ">==</span><span style="color: #000000; ">&nbsp;NULL)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">;<br>&nbsp;&nbsp;&nbsp;&nbsp;stack</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">Node</span><span style="color: #000000; ">*&gt;</span><span style="color: #000000; ">&nbsp;s;<br>&nbsp;&nbsp;&nbsp;&nbsp;Node&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">p&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;root;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">while</span><span style="color: #000000; ">&nbsp;(p&nbsp;</span><span style="color: #000000; ">||</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">!</span><span style="color: #000000; ">s.empty())<br>&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">while</span><span style="color: #000000; ">&nbsp;(p)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s.push(p);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;p</span><span style="color: #000000; ">-&gt;</span><span style="color: #000000; ">lchild;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #000000; ">!</span><span style="color: #000000; ">s.empty())<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;s.top();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s.pop();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;visit(p);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;p</span><span style="color: #000000; ">-&gt;</span><span style="color: #000000; ">rchild;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>}<br><br></span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;postorder_travel(Node&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">root)<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(root&nbsp;</span><span style="color: #000000; ">==</span><span style="color: #000000; ">&nbsp;NULL)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">;<br>&nbsp;&nbsp;&nbsp;&nbsp;stack</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">StackNode</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;s;<br>&nbsp;&nbsp;&nbsp;&nbsp;StackNode&nbsp;x;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;Node&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">p&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;root;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">while</span><span style="color: #000000; ">&nbsp;(p&nbsp;</span><span style="color: #000000; ">||</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">!</span><span style="color: #000000; ">s.empty())<br>&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">while</span><span style="color: #000000; ">&nbsp;(p)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x.ptr&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;p;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x.flag&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s.push(x);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;p</span><span style="color: #000000; ">-&gt;</span><span style="color: #000000; ">lchild;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">while</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #000000; ">!</span><span style="color: #000000; ">s.empty()&nbsp;</span><span style="color: #000000; ">&amp;&amp;</span><span style="color: #000000; ">&nbsp;s.top().flag)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;visit(s.top().ptr);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s.pop();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #000000; ">!</span><span style="color: #000000; ">s.empty())<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s.top().flag&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">1</span><span style="color: #000000; ">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;s.top().ptr</span><span style="color: #000000; ">-&gt;</span><span style="color: #000000; ">rchild;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>}<br><br></span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;main()<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;i,&nbsp;j;<br>&nbsp;&nbsp;&nbsp;&nbsp;map</span><span style="color: #000000; ">&lt;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">,&nbsp;Node</span><span style="color: #000000; ">*&gt;</span><span style="color: #000000; ">&nbsp;m;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;a[][</span><span style="color: #000000; ">3</span><span style="color: #000000; ">]&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #000000; ">1</span><span style="color: #000000; ">,</span><span style="color: #000000; ">2</span><span style="color: #000000; ">,</span><span style="color: #000000; ">3</span><span style="color: #000000; ">},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #000000; ">2</span><span style="color: #000000; ">,</span><span style="color: #000000; ">4</span><span style="color: #000000; ">,</span><span style="color: #000000; ">5</span><span style="color: #000000; ">},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #000000; ">3</span><span style="color: #000000; ">,</span><span style="color: #000000; ">6</span><span style="color: #000000; ">,</span><span style="color: #000000; ">7</span><span style="color: #000000; ">},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #000000; ">4</span><span style="color: #000000; ">,</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">,</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #000000; ">5</span><span style="color: #000000; ">,</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">,</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #000000; ">6</span><span style="color: #000000; ">,</span><span style="color: #000000; ">8</span><span style="color: #000000; ">,</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #000000; ">7</span><span style="color: #000000; ">,</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">,</span><span style="color: #000000; ">9</span><span style="color: #000000; ">},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #000000; ">8</span><span style="color: #000000; ">,</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">,</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #000000; ">9</span><span style="color: #000000; ">,</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">,</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; "><br>&nbsp;&nbsp;&nbsp;&nbsp;};<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">&nbsp;(i</span><span style="color: #000000; ">=</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;&nbsp;a[i][</span><span style="color: #000000; ">0</span><span style="color: #000000; ">]</span><span style="color: #000000; ">!=-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">;&nbsp;i</span><span style="color: #000000; ">++</span><span style="color: #000000; ">)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Node&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">n&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;Node;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n</span><span style="color: #000000; ">-&gt;</span><span style="color: #000000; ">v&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;a[i][</span><span style="color: #000000; ">0</span><span style="color: #000000; ">];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m[n</span><span style="color: #000000; ">-&gt;</span><span style="color: #000000; ">v]&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;n;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">&nbsp;(i</span><span style="color: #000000; ">=</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;&nbsp;a[i][</span><span style="color: #000000; ">0</span><span style="color: #000000; ">]</span><span style="color: #000000; ">!=-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">;&nbsp;i</span><span style="color: #000000; ">++</span><span style="color: #000000; ">)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;s&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;a[i][</span><span style="color: #000000; ">0</span><span style="color: #000000; ">];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;l&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;a[i][</span><span style="color: #000000; ">1</span><span style="color: #000000; ">];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;r&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;a[i][</span><span style="color: #000000; ">2</span><span style="color: #000000; ">];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Node&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">n&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;m[s];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n</span><span style="color: #000000; ">-&gt;</span><span style="color: #000000; ">lchild&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;(l</span><span style="color: #000000; ">==-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">?</span><span style="color: #000000; ">&nbsp;NULL&nbsp;:&nbsp;m[l]);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n</span><span style="color: #000000; ">-&gt;</span><span style="color: #000000; ">rchild&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;(r</span><span style="color: #000000; ">==-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">?</span><span style="color: #000000; ">&nbsp;NULL&nbsp;:&nbsp;m[r]);<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;Node&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">root&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;m[a[</span><span style="color: #000000; ">0</span><span style="color: #000000; ">][</span><span style="color: #000000; ">0</span><span style="color: #000000; ">]];<br><br>&nbsp;&nbsp;&nbsp;&nbsp;preorder_travel(root);<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;endl;<br>&nbsp;&nbsp;&nbsp;&nbsp;inorder_travel(root);<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;endl;<br>&nbsp;&nbsp;&nbsp;&nbsp;postorder_travel(root);<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;endl;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br>}<br></span></div><img src ="http://www.cppblog.com/qinzuoyan/aggbug/130882.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qinzuoyan/" target="_blank">左言</a> 2010-10-22 14:23 <a href="http://www.cppblog.com/qinzuoyan/archive/2010/10/22/130882.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一道笔试题 - 求二叉树最大深度</title><link>http://www.cppblog.com/qinzuoyan/archive/2010/10/22/130880.html</link><dc:creator>左言</dc:creator><author>左言</author><pubDate>Fri, 22 Oct 2010 06:16:00 GMT</pubDate><guid>http://www.cppblog.com/qinzuoyan/archive/2010/10/22/130880.html</guid><wfw:comment>http://www.cppblog.com/qinzuoyan/comments/130880.html</wfw:comment><comments>http://www.cppblog.com/qinzuoyan/archive/2010/10/22/130880.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/qinzuoyan/comments/commentRss/130880.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qinzuoyan/services/trackbacks/130880.html</trackback:ping><description><![CDATA[<div style="background-color: rgb(238, 238, 238); font-size: 13px; border-left-color: rgb(204, 204, 204); padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; ">使用非递归后续遍历：</div><div style="background-color: rgb(238, 238, 238); font-size: 13px; border-left-color: rgb(204, 204, 204); padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; "><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000; ">#include</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">iostream</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br>#include</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">stack</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br>#include</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">map</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br></span><span style="color: #0000FF; ">using</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">namespace</span><span style="color: #000000; ">&nbsp;std;<br><br></span><span style="color: #0000FF; ">struct</span><span style="color: #000000; ">&nbsp;Node<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;v;<br>&nbsp;&nbsp;&nbsp;&nbsp;Node&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">lchild;<br>&nbsp;&nbsp;&nbsp;&nbsp;Node&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">rchild;<br>};<br><br></span><span style="color: #0000FF; ">struct</span><span style="color: #000000; ">&nbsp;StackNode<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;Node&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">ptr;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;flag;<br>};<br><br></span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;maxDepth(Node&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">root)<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;stack</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">StackNode</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;s;<br>&nbsp;&nbsp;&nbsp;&nbsp;StackNode&nbsp;x;<br>&nbsp;&nbsp;&nbsp;&nbsp;Node&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">p&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;root;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;max&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">while</span><span style="color: #000000; ">&nbsp;(p&nbsp;</span><span style="color: #000000; ">||</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">!</span><span style="color: #000000; ">s.empty())<br>&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">while</span><span style="color: #000000; ">&nbsp;(p)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x.ptr&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;p;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x.flag&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s.push(x);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(s.size()&nbsp;</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;max)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;max&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;s.size();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;p</span><span style="color: #000000; ">-&gt;</span><span style="color: #000000; ">lchild;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">while</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #000000; ">!</span><span style="color: #000000; ">s.empty()&nbsp;</span><span style="color: #000000; ">&amp;&amp;</span><span style="color: #000000; ">&nbsp;s.top().flag)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s.pop();<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #000000; ">!</span><span style="color: #000000; ">s.empty())<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s.top().flag&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">1</span><span style="color: #000000; ">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;s.top().ptr</span><span style="color: #000000; ">-&gt;</span><span style="color: #000000; ">rchild;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;max;<br>}<br><br><br></span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;main()<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;i,&nbsp;j;<br>&nbsp;&nbsp;&nbsp;&nbsp;map</span><span style="color: #000000; ">&lt;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">,&nbsp;Node</span><span style="color: #000000; ">*&gt;</span><span style="color: #000000; ">&nbsp;m;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;a[][</span><span style="color: #000000; ">3</span><span style="color: #000000; ">]&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #000000; ">1</span><span style="color: #000000; ">,</span><span style="color: #000000; ">2</span><span style="color: #000000; ">,</span><span style="color: #000000; ">3</span><span style="color: #000000; ">},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #000000; ">2</span><span style="color: #000000; ">,</span><span style="color: #000000; ">4</span><span style="color: #000000; ">,</span><span style="color: #000000; ">5</span><span style="color: #000000; ">},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #000000; ">3</span><span style="color: #000000; ">,</span><span style="color: #000000; ">6</span><span style="color: #000000; ">,</span><span style="color: #000000; ">7</span><span style="color: #000000; ">},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #000000; ">4</span><span style="color: #000000; ">,</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">,</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #000000; ">5</span><span style="color: #000000; ">,</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">,</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #000000; ">6</span><span style="color: #000000; ">,</span><span style="color: #000000; ">8</span><span style="color: #000000; ">,</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #000000; ">7</span><span style="color: #000000; ">,</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">,</span><span style="color: #000000; ">9</span><span style="color: #000000; ">},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #000000; ">8</span><span style="color: #000000; ">,</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">,</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #000000; ">9</span><span style="color: #000000; ">,</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">,</span><span style="color: #000000; ">10</span><span style="color: #000000; ">},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #000000; ">10</span><span style="color: #000000; ">,</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">,</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; "><br>&nbsp;&nbsp;&nbsp;&nbsp;};<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">&nbsp;(i</span><span style="color: #000000; ">=</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;&nbsp;a[i][</span><span style="color: #000000; ">0</span><span style="color: #000000; ">]</span><span style="color: #000000; ">!=-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">;&nbsp;i</span><span style="color: #000000; ">++</span><span style="color: #000000; ">)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Node&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">n&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;Node;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n</span><span style="color: #000000; ">-&gt;</span><span style="color: #000000; ">v&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;a[i][</span><span style="color: #000000; ">0</span><span style="color: #000000; ">];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m[n</span><span style="color: #000000; ">-&gt;</span><span style="color: #000000; ">v]&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;n;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">&nbsp;(i</span><span style="color: #000000; ">=</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;&nbsp;a[i][</span><span style="color: #000000; ">0</span><span style="color: #000000; ">]</span><span style="color: #000000; ">!=-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">;&nbsp;i</span><span style="color: #000000; ">++</span><span style="color: #000000; ">)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;s&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;a[i][</span><span style="color: #000000; ">0</span><span style="color: #000000; ">];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;l&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;a[i][</span><span style="color: #000000; ">1</span><span style="color: #000000; ">];<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;r&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;a[i][</span><span style="color: #000000; ">2</span><span style="color: #000000; ">];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Node&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">n&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;m[s];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n</span><span style="color: #000000; ">-&gt;</span><span style="color: #000000; ">lchild&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;(l</span><span style="color: #000000; ">==-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">?</span><span style="color: #000000; ">&nbsp;NULL&nbsp;:&nbsp;m[l]);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n</span><span style="color: #000000; ">-&gt;</span><span style="color: #000000; ">rchild&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;(r</span><span style="color: #000000; ">==-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">?</span><span style="color: #000000; ">&nbsp;NULL&nbsp;:&nbsp;m[r]);<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;Node&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">root&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;m[a[</span><span style="color: #000000; ">0</span><span style="color: #000000; ">][</span><span style="color: #000000; ">0</span><span style="color: #000000; ">]];<br><br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;maxDepth(root)&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;endl;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br>}<br></span></div><br><img src ="http://www.cppblog.com/qinzuoyan/aggbug/130880.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qinzuoyan/" target="_blank">左言</a> 2010-10-22 14:16 <a href="http://www.cppblog.com/qinzuoyan/archive/2010/10/22/130880.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一道笔试题 - strrep()函数的实现</title><link>http://www.cppblog.com/qinzuoyan/archive/2010/06/10/117548.html</link><dc:creator>左言</dc:creator><author>左言</author><pubDate>Thu, 10 Jun 2010 04:16:00 GMT</pubDate><guid>http://www.cppblog.com/qinzuoyan/archive/2010/06/10/117548.html</guid><wfw:comment>http://www.cppblog.com/qinzuoyan/comments/117548.html</wfw:comment><comments>http://www.cppblog.com/qinzuoyan/archive/2010/06/10/117548.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/qinzuoyan/comments/commentRss/117548.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qinzuoyan/services/trackbacks/117548.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 实现这个函数：<br>char* strrep(const char* src,  const char* from, const char* to);<br><br>将src中出现的所有from替换成to&nbsp;&nbsp;<a href='http://www.cppblog.com/qinzuoyan/archive/2010/06/10/117548.html'>阅读全文</a><img src ="http://www.cppblog.com/qinzuoyan/aggbug/117548.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qinzuoyan/" target="_blank">左言</a> 2010-06-10 12:16 <a href="http://www.cppblog.com/qinzuoyan/archive/2010/06/10/117548.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>2009年全球网站Top50</title><link>http://www.cppblog.com/qinzuoyan/archive/2009/08/27/94537.html</link><dc:creator>左言</dc:creator><author>左言</author><pubDate>Thu, 27 Aug 2009 03:27:00 GMT</pubDate><guid>http://www.cppblog.com/qinzuoyan/archive/2009/08/27/94537.html</guid><wfw:comment>http://www.cppblog.com/qinzuoyan/comments/94537.html</wfw:comment><comments>http://www.cppblog.com/qinzuoyan/archive/2009/08/27/94537.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/qinzuoyan/comments/commentRss/94537.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qinzuoyan/services/trackbacks/94537.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 美国《时代》周刊评出了2009年“50个最佳网站”，都是哪些网站上榜？它们具有哪些特点？&nbsp;&nbsp;<a href='http://www.cppblog.com/qinzuoyan/archive/2009/08/27/94537.html'>阅读全文</a><img src ="http://www.cppblog.com/qinzuoyan/aggbug/94537.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qinzuoyan/" target="_blank">左言</a> 2009-08-27 11:27 <a href="http://www.cppblog.com/qinzuoyan/archive/2009/08/27/94537.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>文曲星“猜数字”游戏的计算机模拟 —— 算法分析与实现</title><link>http://www.cppblog.com/qinzuoyan/archive/2009/08/14/93306.html</link><dc:creator>左言</dc:creator><author>左言</author><pubDate>Fri, 14 Aug 2009 06:11:00 GMT</pubDate><guid>http://www.cppblog.com/qinzuoyan/archive/2009/08/14/93306.html</guid><wfw:comment>http://www.cppblog.com/qinzuoyan/comments/93306.html</wfw:comment><comments>http://www.cppblog.com/qinzuoyan/archive/2009/08/14/93306.html#Feedback</comments><slash:comments>15</slash:comments><wfw:commentRss>http://www.cppblog.com/qinzuoyan/comments/commentRss/93306.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qinzuoyan/services/trackbacks/93306.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 最近一个朋友在用计算机模拟人来玩文曲星上的“猜数字”游戏，也邀我一起讨论。我以前没有玩过，不过发现这个还是蛮有趣的，于是也想写一个能猜数据的小程序。通过几日思考，终于实现了一个稍微有点聪明的，可以保证在7次之内猜对数字。&nbsp;&nbsp;<a href='http://www.cppblog.com/qinzuoyan/archive/2009/08/14/93306.html'>阅读全文</a><img src ="http://www.cppblog.com/qinzuoyan/aggbug/93306.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qinzuoyan/" target="_blank">左言</a> 2009-08-14 14:11 <a href="http://www.cppblog.com/qinzuoyan/archive/2009/08/14/93306.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ruby的一点小心得</title><link>http://www.cppblog.com/qinzuoyan/archive/2009/08/11/92849.html</link><dc:creator>左言</dc:creator><author>左言</author><pubDate>Mon, 10 Aug 2009 16:09:00 GMT</pubDate><guid>http://www.cppblog.com/qinzuoyan/archive/2009/08/11/92849.html</guid><wfw:comment>http://www.cppblog.com/qinzuoyan/comments/92849.html</wfw:comment><comments>http://www.cppblog.com/qinzuoyan/archive/2009/08/11/92849.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/qinzuoyan/comments/commentRss/92849.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qinzuoyan/services/trackbacks/92849.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 最近因为使用Ruby写一个多线程爬虫，所以积累了一点小心得。&nbsp;&nbsp;<a href='http://www.cppblog.com/qinzuoyan/archive/2009/08/11/92849.html'>阅读全文</a><img src ="http://www.cppblog.com/qinzuoyan/aggbug/92849.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qinzuoyan/" target="_blank">左言</a> 2009-08-11 00:09 <a href="http://www.cppblog.com/qinzuoyan/archive/2009/08/11/92849.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>检查是否“有向无环图”的小程序</title><link>http://www.cppblog.com/qinzuoyan/archive/2009/08/08/92607.html</link><dc:creator>左言</dc:creator><author>左言</author><pubDate>Sat, 08 Aug 2009 02:47:00 GMT</pubDate><guid>http://www.cppblog.com/qinzuoyan/archive/2009/08/08/92607.html</guid><wfw:comment>http://www.cppblog.com/qinzuoyan/comments/92607.html</wfw:comment><comments>http://www.cppblog.com/qinzuoyan/archive/2009/08/08/92607.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/qinzuoyan/comments/commentRss/92607.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qinzuoyan/services/trackbacks/92607.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 今天分析数据的时候需要检查一个图是否有向无环图，于是用脚本写了个小的检查工具。基本原理：如果能够完全拓扑排序，则是无环图。<br>&nbsp;&nbsp;<a href='http://www.cppblog.com/qinzuoyan/archive/2009/08/08/92607.html'>阅读全文</a><img src ="http://www.cppblog.com/qinzuoyan/aggbug/92607.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qinzuoyan/" target="_blank">左言</a> 2009-08-08 10:47 <a href="http://www.cppblog.com/qinzuoyan/archive/2009/08/08/92607.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>