﻿<?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++博客-记</title><link>http://www.cppblog.com/Terrile/</link><description>风物长宜放眼量</description><language>zh-cn</language><lastBuildDate>Wed, 08 Apr 2026 09:18:58 GMT</lastBuildDate><pubDate>Wed, 08 Apr 2026 09:18:58 GMT</pubDate><ttl>60</ttl><item><title>CUDA + Visual Assistant</title><link>http://www.cppblog.com/Terrile/archive/2011/08/05/152552.html</link><dc:creator>邹敏</dc:creator><author>邹敏</author><pubDate>Fri, 05 Aug 2011 07:34:00 GMT</pubDate><guid>http://www.cppblog.com/Terrile/archive/2011/08/05/152552.html</guid><wfw:comment>http://www.cppblog.com/Terrile/comments/152552.html</wfw:comment><comments>http://www.cppblog.com/Terrile/archive/2011/08/05/152552.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Terrile/comments/commentRss/152552.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Terrile/services/trackbacks/152552.html</trackback:ping><description><![CDATA[<div class="post-content">
<p>CUDA SDK helps developers to use GPU computing power to c developers. You may find help in SDK about code coloring in Visual Studio. But i am sure many of you have been searching for intellisense for cu and cuh as c files. Here is my solution.</p>
<p>Add c and cuh extensions to <strong>NCB Default C/C++ Extensions</strong> key under<br /><em>HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\Languages\Language Services\C/C++ </em>path <br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/terrile/无标题.png" width="1080" height="537" /><br />cite: <a href="http://www.wizardsofeast.com/?p=378">http://www.wizardsofeast.com/?p=378</a><br />Homepage: <a href="http://www.zoumin.org/">http://www.zoumin.org/</a></p></div><img src ="http://www.cppblog.com/Terrile/aggbug/152552.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Terrile/" target="_blank">邹敏</a> 2011-08-05 15:34 <a href="http://www.cppblog.com/Terrile/archive/2011/08/05/152552.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>8 皇后问题</title><link>http://www.cppblog.com/Terrile/archive/2010/09/27/127889.html</link><dc:creator>邹敏</dc:creator><author>邹敏</author><pubDate>Mon, 27 Sep 2010 09:44:00 GMT</pubDate><guid>http://www.cppblog.com/Terrile/archive/2010/09/27/127889.html</guid><wfw:comment>http://www.cppblog.com/Terrile/comments/127889.html</wfw:comment><comments>http://www.cppblog.com/Terrile/archive/2010/09/27/127889.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Terrile/comments/commentRss/127889.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Terrile/services/trackbacks/127889.html</trackback:ping><description><![CDATA[<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><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 /></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 /></span><span style="color: #0000ff">#define</span><span style="color: #000000">&nbsp;QUEEN_NUM&nbsp;8</span><span style="color: #000000"><br /></span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;position[QUEEN_NUM];</span><span style="color: #008000">//</span><span style="color: #008000">每一行的皇后放在第几列</span><span style="color: #008000"><br /></span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;totalNum</span><span style="color: #000000">=</span><span style="color: #000000">0</span><span style="color: #000000">;<br /></span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;placeQueen(</span><span style="color: #0000ff">const</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;row)</span><span style="color: #008000">//</span><span style="color: #008000">放在第几行</span><span style="color: #008000"><br /></span><span style="color: #000000">{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(row</span><span style="color: #000000">&gt;=</span><span style="color: #000000">QUEEN_NUM)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i</span><span style="color: #000000">=</span><span style="color: #000000">0</span><span style="color: #000000">;i</span><span style="color: #000000">&lt;</span><span style="color: #000000">QUEEN_NUM;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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">position[i]</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">endl;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;totalNum</span><span style="color: #000000">++</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">;</span><span style="color: #008000">//</span><span style="color: #008000">放置完了</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">bool</span><span style="color: #000000">&nbsp;canPutHere</span><span style="color: #000000">=</span><span style="color: #0000ff">true</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i</span><span style="color: #000000">=</span><span style="color: #000000">0</span><span style="color: #000000">;i</span><span style="color: #000000">&lt;</span><span style="color: #000000">QUEEN_NUM;i</span><span style="color: #000000">++</span><span style="color: #000000">)</span><span style="color: #008000">//</span><span style="color: #008000">检查当前行的每一列是否与前面已经放置的某一个皇后冲突</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;canPutHere</span><span style="color: #000000">=</span><span style="color: #0000ff">true</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;r</span><span style="color: #000000">=</span><span style="color: #000000">0</span><span style="color: #000000">;r</span><span style="color: #000000">&lt;</span><span style="color: #000000">row;r</span><span style="color: #000000">++</span><span style="color: #000000">)</span><span style="color: #008000">//</span><span style="color: #008000">已经放了row-1个皇后</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<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;(position[r]</span><span style="color: #000000">==</span><span style="color: #000000">i</span><span style="color: #008000">//</span><span style="color: #008000">在同一列</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">||</span><span style="color: #000000">position[r]</span><span style="color: #000000">==</span><span style="color: #000000">i</span><span style="color: #000000">+</span><span style="color: #000000">r</span><span style="color: #000000">-</span><span style="color: #000000">row</span><span style="color: #008000">//</span><span style="color: #008000">在同一对角线上</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">||</span><span style="color: #000000">position[r]</span><span style="color: #000000">==</span><span style="color: #000000">i</span><span style="color: #000000">-</span><span style="color: #000000">(r</span><span style="color: #000000">-</span><span style="color: #000000">row))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;canPutHere</span><span style="color: #000000">=</span><span style="color: #0000ff">false</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">break</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<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;(canPutHere)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;position[row]</span><span style="color: #000000">=</span><span style="color: #000000">i;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;placeQueen(row</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;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /></span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;main()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;placeQueen(</span><span style="color: #000000">0</span><span style="color: #000000">);<br />&nbsp;&nbsp;&nbsp;&nbsp;cout</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">"</span><span style="color: #000000">Total&nbsp;Num:&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">totalNum</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">endl;<br />}</span></div>Homepage: <a href="http://www.zoumin.org/">http://www.zoumin.org/</a><img src ="http://www.cppblog.com/Terrile/aggbug/127889.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Terrile/" target="_blank">邹敏</a> 2010-09-27 17:44 <a href="http://www.cppblog.com/Terrile/archive/2010/09/27/127889.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>重构二叉树 </title><link>http://www.cppblog.com/Terrile/archive/2010/09/26/127764.html</link><dc:creator>邹敏</dc:creator><author>邹敏</author><pubDate>Sun, 26 Sep 2010 08:01:00 GMT</pubDate><guid>http://www.cppblog.com/Terrile/archive/2010/09/26/127764.html</guid><wfw:comment>http://www.cppblog.com/Terrile/comments/127764.html</wfw:comment><comments>http://www.cppblog.com/Terrile/archive/2010/09/26/127764.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Terrile/comments/commentRss/127764.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Terrile/services/trackbacks/127764.html</trackback:ping><description><![CDATA[<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><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: #0000ff">string</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 /></span><span style="color: #008000">//</span><span style="color: #008000">重构二叉树</span><span style="color: #008000"><br /></span><span style="color: #0000ff">struct</span><span style="color: #000000">&nbsp;NODE&nbsp;<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;NODE&nbsp;</span><span style="color: #000000">*</span><span style="color: #000000">pLeft;<br />&nbsp;&nbsp;&nbsp;&nbsp;NODE&nbsp;</span><span style="color: #000000">*</span><span style="color: #000000">pRight;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">char</span><span style="color: #000000">&nbsp;value;<br />};<br />NODE</span><span style="color: #000000">*</span><span style="color: #000000">&nbsp;&nbsp;Rebuild(</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;preOrder,</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;inOrder)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(preOrder.size()</span><span style="color: #000000">==</span><span style="color: #000000">0</span><span style="color: #000000">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;NULL;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;NODE</span><span style="color: #000000">*</span><span style="color: #000000">&nbsp;pRoot</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;NODE;<br />&nbsp;&nbsp;&nbsp;&nbsp;(pRoot)</span><span style="color: #000000">-&gt;</span><span style="color: #000000">value</span><span style="color: #000000">=</span><span style="color: #000000">preOrder[</span><span style="color: #000000">0</span><span style="color: #000000">];<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;root_pos</span><span style="color: #000000">=</span><span style="color: #000000">inOrder.find_first_of(preOrder[</span><span style="color: #000000">0</span><span style="color: #000000">]);</span><span style="color: #008000">//</span><span style="color: #008000">找根节点的位置</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(root_pos</span><span style="color: #000000">==-</span><span style="color: #000000">1</span><span style="color: #000000">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;NULL;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;left_ele_num</span><span style="color: #000000">=</span><span style="color: #000000">root_pos;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;right_ele_num</span><span style="color: #000000">=</span><span style="color: #000000">preOrder.size()</span><span style="color: #000000">-</span><span style="color: #000000">left_ele_num</span><span style="color: #000000">-</span><span style="color: #000000">1</span><span style="color: #000000">;</span><span style="color: #008000">//</span><span style="color: #008000">length是字符序列的长度</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;pRoot</span><span style="color: #000000">-&gt;</span><span style="color: #000000">pLeft</span><span style="color: #000000">=</span><span style="color: #000000">Rebuild(preOrder.substr(</span><span style="color: #000000">1</span><span style="color: #000000">,</span><span style="color: #000000">1</span><span style="color: #000000">+</span><span style="color: #000000">left_ele_num),inOrder.substr(</span><span style="color: #000000">0</span><span style="color: #000000">,left_ele_num));<br />&nbsp;&nbsp;&nbsp;&nbsp;pRoot</span><span style="color: #000000">-&gt;</span><span style="color: #000000">pRight</span><span style="color: #000000">=</span><span style="color: #000000">Rebuild(preOrder.substr(root_pos</span><span style="color: #000000">+</span><span style="color: #000000">1</span><span style="color: #000000">,right_ele_num),inOrder.substr(root_pos</span><span style="color: #000000">+</span><span style="color: #000000">1</span><span style="color: #000000">,right_ele_num));<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;pRoot;<br />}<br /></span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;preOrder(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">&nbsp;(</span><span style="color: #000000">!</span><span style="color: #000000">root)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<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;}<br />&nbsp;&nbsp;&nbsp;&nbsp;cout</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">root</span><span style="color: #000000">-&gt;</span><span style="color: #000000">value</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;preOrder(root</span><span style="color: #000000">-&gt;</span><span style="color: #000000">pLeft);<br />&nbsp;&nbsp;&nbsp;&nbsp;preOrder(root</span><span style="color: #000000">-&gt;</span><span style="color: #000000">pRight);<br />}<br /></span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;main()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;preorder</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">abdcef</span><span style="color: #000000">"</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;inorder</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">dbaecf</span><span style="color: #000000">"</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;NODE&nbsp;</span><span style="color: #000000">*</span><span style="color: #000000">root</span><span style="color: #000000">=</span><span style="color: #000000">Rebuild(preorder,inorder);<br />&nbsp;&nbsp;&nbsp;&nbsp;preOrder(root);<br />&nbsp;&nbsp;&nbsp;&nbsp;cout</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">endl;<br />}</span></div>Homepage: <a href="http://www.zoumin.org/">http://www.zoumin.org/</a><img src ="http://www.cppblog.com/Terrile/aggbug/127764.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Terrile/" target="_blank">邹敏</a> 2010-09-26 16:01 <a href="http://www.cppblog.com/Terrile/archive/2010/09/26/127764.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>最大的K个数 K Big</title><link>http://www.cppblog.com/Terrile/archive/2010/09/25/127665.html</link><dc:creator>邹敏</dc:creator><author>邹敏</author><pubDate>Sat, 25 Sep 2010 13:36:00 GMT</pubDate><guid>http://www.cppblog.com/Terrile/archive/2010/09/25/127665.html</guid><wfw:comment>http://www.cppblog.com/Terrile/comments/127665.html</wfw:comment><comments>http://www.cppblog.com/Terrile/archive/2010/09/25/127665.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Terrile/comments/commentRss/127665.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Terrile/services/trackbacks/127665.html</trackback:ping><description><![CDATA[<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;Partition(</span><span style="color: #0000ff">double</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">*</span><span style="color: #000000">Array,</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;left,</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;right)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">double</span><span style="color: #000000">&nbsp;pivot</span><span style="color: #000000">=</span><span style="color: #000000">Array[left];<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i</span><span style="color: #000000">=</span><span style="color: #000000">left;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">double</span><span style="color: #000000">&nbsp;tmp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;j</span><span style="color: #000000">=</span><span style="color: #000000">left</span><span style="color: #000000">+</span><span style="color: #000000">1</span><span style="color: #000000">;j</span><span style="color: #000000">&lt;=</span><span style="color: #000000">right;j</span><span style="color: #000000">++</span><span style="color: #000000">)<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;(Array[j]</span><span style="color: #000000">&lt;=</span><span style="color: #000000">pivot)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&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;&nbsp;&nbsp;&nbsp;&nbsp;tmp</span><span style="color: #000000">=</span><span style="color: #000000">Array[j];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Array[j]</span><span style="color: #000000">=</span><span style="color: #000000">Array[i];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Array[i]</span><span style="color: #000000">=</span><span style="color: #000000">tmp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">exchange&nbsp;A[i],pivot</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;tmp</span><span style="color: #000000">=</span><span style="color: #000000">Array[left];<br />&nbsp;&nbsp;&nbsp;&nbsp;Array[left]</span><span style="color: #000000">=</span><span style="color: #000000">Array[i];<br />&nbsp;&nbsp;&nbsp;&nbsp;Array[i]</span><span style="color: #000000">=</span><span style="color: #000000">tmp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;i;<br />}<br /></span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;K_Big(</span><span style="color: #0000ff">double</span><span style="color: #000000">*</span><span style="color: #000000">&nbsp;Array,</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;left,</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;right,</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;k,</span><span style="color: #0000ff">double</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">*</span><span style="color: #000000">dest)</span><span style="color: #008000">//<br /></span><span style="color: #000000">{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(k</span><span style="color: #000000">&lt;=</span><span style="color: #000000">0</span><span style="color: #000000">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<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;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(right</span><span style="color: #000000">-</span><span style="color: #000000">left</span><span style="color: #000000">+</span><span style="color: #000000">1</span><span style="color: #000000">&lt;=</span><span style="color: #000000">k)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memcpy(dest,</span><span style="color: #000000">&amp;</span><span style="color: #000000">Array[left],</span><span style="color: #0000ff">sizeof</span><span style="color: #000000">(</span><span style="color: #0000ff">double</span><span style="color: #000000">)</span><span style="color: #000000">*</span><span style="color: #000000">(right</span><span style="color: #000000">-</span><span style="color: #000000">left</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: #0000ff">return</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;p</span><span style="color: #000000">=</span><span style="color: #000000">Partition(Array,left,right);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;right_ele_num</span><span style="color: #000000">=</span><span style="color: #000000">right</span><span style="color: #000000">-</span><span style="color: #000000">p;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(right_ele_num</span><span style="color: #000000">&gt;=</span><span style="color: #000000">k)</span><span style="color: #008000">//</span><span style="color: #008000">取右边的前k个</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;K_Big(Array,p</span><span style="color: #000000">+</span><span style="color: #000000">1</span><span style="color: #000000">,right,k,dest);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">else</span><span style="color: #000000">{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">取左边的k-right_ele_num-1个，加上中间一个,再加上右边的right_ele_num个</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;right_ele_num</span><span style="color: #000000">++</span><span style="color: #000000">;</span><span style="color: #008000">//</span><span style="color: #008000">把中间的一个也加进来了。</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memcpy(</span><span style="color: #000000">&amp;</span><span style="color: #000000">dest[k</span><span style="color: #000000">-</span><span style="color: #000000">right_ele_num],</span><span style="color: #000000">&amp;</span><span style="color: #000000">Array[p],right_ele_num</span><span style="color: #000000">*</span><span style="color: #0000ff">sizeof</span><span style="color: #000000">(</span><span style="color: #0000ff">double</span><span style="color: #000000">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;K_Big(Array,left,p</span><span style="color: #000000">-</span><span style="color: #000000">1</span><span style="color: #000000">,k</span><span style="color: #000000">-</span><span style="color: #000000">right_ele_num,dest);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /></span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;main()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">double</span><span style="color: #000000">&nbsp;A[]</span><span style="color: #000000">=</span><span style="color: #000000">{</span><span style="color: #000000">8</span><span style="color: #000000">,</span><span style="color: #000000">4</span><span style="color: #000000">,</span><span style="color: #000000">3</span><span style="color: #000000">,</span><span style="color: #000000">2</span><span style="color: #000000">,</span><span style="color: #000000">6</span><span style="color: #000000">,</span><span style="color: #000000">13</span><span style="color: #000000">,</span><span style="color: #000000">5</span><span style="color: #000000">};<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;n</span><span style="color: #000000">=</span><span style="color: #000000">7</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">MergeSort(&amp;A[0],0,6);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">QuickSort(A,0,6);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">HeapSort(A,7);</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">/*</span><span style="color: #008000">for&nbsp;(int&nbsp;i=0;i&lt;n;i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;A[i]&lt;&lt;"&nbsp;";<br />&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="color: #008000">*/</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">double</span><span style="color: #000000">&nbsp;B[</span><span style="color: #000000">5</span><span style="color: #000000">];<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;k</span><span style="color: #000000">=</span><span style="color: #000000">5</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;K_Big(A,</span><span style="color: #000000">0</span><span style="color: #000000">,</span><span style="color: #000000">6</span><span style="color: #000000">,k,B);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i</span><span style="color: #000000">=</span><span style="color: #000000">0</span><span style="color: #000000">;i</span><span style="color: #000000">&lt;</span><span style="color: #000000">k;i</span><span style="color: #000000">++</span><span style="color: #000000">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">B[i]</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">endl;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;cout</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">endl;<br />&nbsp;&nbsp;&nbsp;&nbsp;delete&nbsp;A;<br />}</span></div>Homepage: <a href="http://www.zoumin.org/">http://www.zoumin.org/</a><img src ="http://www.cppblog.com/Terrile/aggbug/127665.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Terrile/" target="_blank">邹敏</a> 2010-09-25 21:36 <a href="http://www.cppblog.com/Terrile/archive/2010/09/25/127665.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HeapSort</title><link>http://www.cppblog.com/Terrile/archive/2010/09/20/127187.html</link><dc:creator>邹敏</dc:creator><author>邹敏</author><pubDate>Mon, 20 Sep 2010 14:12:00 GMT</pubDate><guid>http://www.cppblog.com/Terrile/archive/2010/09/20/127187.html</guid><wfw:comment>http://www.cppblog.com/Terrile/comments/127187.html</wfw:comment><comments>http://www.cppblog.com/Terrile/archive/2010/09/20/127187.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Terrile/comments/commentRss/127187.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Terrile/services/trackbacks/127187.html</trackback:ping><description><![CDATA[<p>&nbsp;</p>
<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;AdjustNode(</span><span style="COLOR: #0000ff">double</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">Array,</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;position,</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;n)</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">n是数组中元素的个数，position是当前要调整的位置</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">{<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;left_child</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">(position</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;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;right_child</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">(position</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">);<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(left_child</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #000000">n)<br>&nbsp;&nbsp;&nbsp;&nbsp;{<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;}<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">double</span><span style="COLOR: #000000">&nbsp;tmp;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(Array[position]</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">Array[left_child])<br>&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tmp</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">Array[position];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Array[position]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">Array[left_child];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Array[left_child]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">tmp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AdjustNode(Array,left_child,n);<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(Array[position]</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">Array[right_child])<br>&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tmp</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">Array[position];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Array[position]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">Array[right_child];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Array[right_child]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">tmp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AdjustNode(Array,right_child,n);<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>}<br></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;HeapSort(</span><span style="COLOR: #0000ff">double</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">Array,</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;n)<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">&nbsp;(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">n</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">--</span><span style="COLOR: #000000">)<br>&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AdjustNode(Array,i,n);<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">double</span><span style="COLOR: #000000">&nbsp;tmp;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">&nbsp;(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">n;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br>&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tmp</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">Array[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">];</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">每次取根节点元素</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Array[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">Array[n</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">i</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">];</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">把最后一个元素放到根节点上</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Array[n</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">i</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">tmp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">把排好序的数字放到后面</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AdjustNode(Array,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,n</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">i</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">);<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>}</span></div>
<img src ="http://www.cppblog.com/Terrile/aggbug/127187.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Terrile/" target="_blank">邹敏</a> 2010-09-20 22:12 <a href="http://www.cppblog.com/Terrile/archive/2010/09/20/127187.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Quick Sort</title><link>http://www.cppblog.com/Terrile/archive/2010/09/20/127181.html</link><dc:creator>邹敏</dc:creator><author>邹敏</author><pubDate>Mon, 20 Sep 2010 13:28:00 GMT</pubDate><guid>http://www.cppblog.com/Terrile/archive/2010/09/20/127181.html</guid><wfw:comment>http://www.cppblog.com/Terrile/comments/127181.html</wfw:comment><comments>http://www.cppblog.com/Terrile/archive/2010/09/20/127181.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Terrile/comments/commentRss/127181.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Terrile/services/trackbacks/127181.html</trackback:ping><description><![CDATA[<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;Partition(</span><span style="color: #0000ff">double</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">*</span><span style="color: #000000">Array,</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;left,</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;right)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">double</span><span style="color: #000000">&nbsp;pivot</span><span style="color: #000000">=</span><span style="color: #000000">Array[left];<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i</span><span style="color: #000000">=</span><span style="color: #000000">left;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">double</span><span style="color: #000000">&nbsp;tmp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;j</span><span style="color: #000000">=</span><span style="color: #000000">left</span><span style="color: #000000">+</span><span style="color: #000000">1</span><span style="color: #000000">;j</span><span style="color: #000000">&lt;=</span><span style="color: #000000">right;j</span><span style="color: #000000">++</span><span style="color: #000000">)<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;(Array[j]</span><span style="color: #000000">&lt;=</span><span style="color: #000000">pivot)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&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;&nbsp;&nbsp;&nbsp;&nbsp;tmp</span><span style="color: #000000">=</span><span style="color: #000000">Array[j];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Array[j]</span><span style="color: #000000">=</span><span style="color: #000000">Array[i];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Array[i]</span><span style="color: #000000">=</span><span style="color: #000000">tmp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">exchange&nbsp;A[i],pivot</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;tmp</span><span style="color: #000000">=</span><span style="color: #000000">Array[left];<br />&nbsp;&nbsp;&nbsp;&nbsp;Array[left]</span><span style="color: #000000">=</span><span style="color: #000000">Array[i];<br />&nbsp;&nbsp;&nbsp;&nbsp;Array[i]</span><span style="color: #000000">=</span><span style="color: #000000">tmp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;i;<br />}<br /></span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;QuickSort(</span><span style="color: #0000ff">double</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">*</span><span style="color: #000000">Array,</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;left,</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;right)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(left</span><span style="color: #000000">&gt;=</span><span style="color: #000000">right)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<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;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;p</span><span style="color: #000000">=</span><span style="color: #000000">Partition(Array,left,right);<br />&nbsp;&nbsp;&nbsp;&nbsp;QuickSort(Array,left,p</span><span style="color: #000000">-</span><span style="color: #000000">1</span><span style="color: #000000">);<br />&nbsp;&nbsp;&nbsp;&nbsp;QuickSort(Array,p</span><span style="color: #000000">+</span><span style="color: #000000">1</span><span style="color: #000000">,right);<br />}<br /></span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;main()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">double</span><span style="color: #000000">&nbsp;A[]</span><span style="color: #000000">=</span><span style="color: #000000">{</span><span style="color: #000000">8</span><span style="color: #000000">,</span><span style="color: #000000">4</span><span style="color: #000000">,</span><span style="color: #000000">3</span><span style="color: #000000">,</span><span style="color: #000000">2</span><span style="color: #000000">,</span><span style="color: #000000">6</span><span style="color: #000000">,</span><span style="color: #000000">13</span><span style="color: #000000">,</span><span style="color: #000000">5</span><span style="color: #000000">};<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;n</span><span style="color: #000000">=</span><span style="color: #000000">7</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">MergeSort(&amp;A[0],0,6);</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;QuickSort(A,</span><span style="color: #000000">0</span><span style="color: #000000">,</span><span style="color: #000000">6</span><span style="color: #000000">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i</span><span style="color: #000000">=</span><span style="color: #000000">0</span><span style="color: #000000">;i</span><span style="color: #000000">&lt;</span><span style="color: #000000">n;i</span><span style="color: #000000">++</span><span style="color: #000000">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">A[i]</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;cout</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">endl;<br />&nbsp;&nbsp;&nbsp;&nbsp;delete&nbsp;A;<br />}</span></div>Homepage: <a href="http://www.zoumin.org/">http://www.zoumin.org/</a><img src ="http://www.cppblog.com/Terrile/aggbug/127181.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Terrile/" target="_blank">邹敏</a> 2010-09-20 21:28 <a href="http://www.cppblog.com/Terrile/archive/2010/09/20/127181.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Merge Sort</title><link>http://www.cppblog.com/Terrile/archive/2010/09/20/127176.html</link><dc:creator>邹敏</dc:creator><author>邹敏</author><pubDate>Mon, 20 Sep 2010 12:53:00 GMT</pubDate><guid>http://www.cppblog.com/Terrile/archive/2010/09/20/127176.html</guid><wfw:comment>http://www.cppblog.com/Terrile/comments/127176.html</wfw:comment><comments>http://www.cppblog.com/Terrile/archive/2010/09/20/127176.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/Terrile/comments/commentRss/127176.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Terrile/services/trackbacks/127176.html</trackback:ping><description><![CDATA[<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><span style="COLOR: #000000">#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">stdlib.h</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">iostream</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></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;MergeSort(</span><span style="COLOR: #0000ff">double</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">Array,</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;left,</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;right)<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(left</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #000000">right)</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">只有一个元素，不用排序</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;{<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;}<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;middle</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">(left</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">right)</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">;<br>&nbsp;&nbsp;&nbsp;&nbsp;MergeSort(Array,left,middle);<br>&nbsp;&nbsp;&nbsp;&nbsp;MergeSort(Array,middle</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,right);<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">归并</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;left_pointer</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">left;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;right_pointer</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">middle</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">double</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">mergeArray</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">double</span><span style="COLOR: #000000">[right</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">left</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">];<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;new_array_pointer</span><span style="COLOR: #000000">=</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;(left_pointer</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">middle</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">right_pointer</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">right)<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;(Array[left_pointer]</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">Array[right_pointer])<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mergeArray[new_array_pointer</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">Array[left_pointer</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">];<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;mergeArray[new_array_pointer</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">Array[right_pointer</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: #008000">//</span><span style="COLOR: #008000">判断一下是那边的数组先读完了</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(left_pointer</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">middle)</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">右边的先读完了</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memcpy(</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">mergeArray[new_array_pointer],</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">Array[left_pointer],(middle</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">left_pointer</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: #0000ff">sizeof</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">double</span><span style="COLOR: #000000">));<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">{</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">左边的读完了</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memcpy(</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">mergeArray[new_array_pointer],</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">Array[right_pointer],(right</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">right_pointer</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: #0000ff">sizeof</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">double</span><span style="COLOR: #000000">));<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;memcpy(</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">Array[left],</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">mergeArray[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">],(right</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">left</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: #0000ff">sizeof</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">double</span><span style="COLOR: #000000">));<br>&nbsp;&nbsp;&nbsp;&nbsp;delete&nbsp;mergeArray;<br>}<br></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;main()<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">double</span><span style="COLOR: #000000">&nbsp;A[]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">{</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">3</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">8</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">6</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">13</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">5</span><span style="COLOR: #000000">};<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;n</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">7</span><span style="COLOR: #000000">;<br>&nbsp;&nbsp;&nbsp;&nbsp;MergeSort(</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">A[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">],</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">6</span><span style="COLOR: #000000">);<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">&nbsp;(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">n;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br>&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">A[i]</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;cout</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">endl;<br>&nbsp;&nbsp;&nbsp;&nbsp;delete&nbsp;A;<br>}</span></div>
<img src ="http://www.cppblog.com/Terrile/aggbug/127176.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Terrile/" target="_blank">邹敏</a> 2010-09-20 20:53 <a href="http://www.cppblog.com/Terrile/archive/2010/09/20/127176.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java 高效读文本文件</title><link>http://www.cppblog.com/Terrile/archive/2010/05/29/116701.html</link><dc:creator>邹敏</dc:creator><author>邹敏</author><pubDate>Sat, 29 May 2010 13:38:00 GMT</pubDate><guid>http://www.cppblog.com/Terrile/archive/2010/05/29/116701.html</guid><wfw:comment>http://www.cppblog.com/Terrile/comments/116701.html</wfw:comment><comments>http://www.cppblog.com/Terrile/archive/2010/05/29/116701.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Terrile/comments/commentRss/116701.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Terrile/services/trackbacks/116701.html</trackback:ping><description><![CDATA[<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #008080">&nbsp;1</span><img id="Codehighlighter1_48_415_Open_Image" onclick="this.style.display='none'; Codehighlighter1_48_415_Open_Text.style.display='none'; Codehighlighter1_48_415_Closed_Image.style.display='inline'; Codehighlighter1_48_415_Closed_Text.style.display='inline';" align="top" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_48_415_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_48_415_Closed_Text.style.display='none'; Codehighlighter1_48_415_Open_Image.style.display='inline'; Codehighlighter1_48_415_Open_Text.style.display='inline';" align="top" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif"><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;String&nbsp;getSource(String&nbsp;fileName)&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_48_415_Closed_Text"><img src="http://www.cppblog.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_48_415_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;s</span><span style="color: #000000">=</span><span style="color: #000000">""</span><span style="color: #000000">;<br /></span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;File&nbsp;file&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;File(fileName);<br /></span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reader&nbsp;reader&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">;<br /></span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img id="Codehighlighter1_132_350_Open_Image" onclick="this.style.display='none'; Codehighlighter1_132_350_Open_Text.style.display='none'; Codehighlighter1_132_350_Closed_Image.style.display='inline'; Codehighlighter1_132_350_Closed_Text.style.display='inline';" align="top" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_132_350_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_132_350_Closed_Text.style.display='none'; Codehighlighter1_132_350_Open_Image.style.display='inline'; Codehighlighter1_132_350_Open_Text.style.display='inline';" align="top" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_132_350_Closed_Text"><img src="http://www.cppblog.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_132_350_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RandomAccessFile&nbsp;rf</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;RandomAccessFile(fileName,</span><span style="color: #000000">"</span><span style="color: #000000">r</span><span style="color: #000000">"</span><span style="color: #000000">);<br /></span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">byte</span><span style="color: #000000">&nbsp;&nbsp;contents[]</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">byte</span><span style="color: #000000">[(</span><span style="color: #0000ff">int</span><span style="color: #000000">)rf.length()];<br /></span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rf.read(contents,&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">,&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">)rf.length());<br /></span><span style="color: #008080">10</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;String(contents);<br /></span><span style="color: #008080">11</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">s=new&nbsp;String((char[])contents);</span><span style="color: #008000"><br /></span><span style="color: #008080">12</span><span style="color: #008000"><img id="Codehighlighter1_372_400_Open_Image" onclick="this.style.display='none'; Codehighlighter1_372_400_Open_Text.style.display='none'; Codehighlighter1_372_400_Closed_Image.style.display='inline'; Codehighlighter1_372_400_Closed_Text.style.display='inline';" align="top" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_372_400_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_372_400_Closed_Text.style.display='none'; Codehighlighter1_372_400_Open_Image.style.display='inline'; Codehighlighter1_372_400_Open_Text.style.display='inline';" align="top" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(Exception&nbsp;e)&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_372_400_Closed_Text"><img src="http://www.cppblog.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_372_400_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">13</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br /></span><span style="color: #008080">14</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">15</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;s;<br /></span><span style="color: #008080">16</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></div>Homepage: <a href="http://www.zoumin.org/">http://www.zoumin.org/</a><img src ="http://www.cppblog.com/Terrile/aggbug/116701.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Terrile/" target="_blank">邹敏</a> 2010-05-29 21:38 <a href="http://www.cppblog.com/Terrile/archive/2010/05/29/116701.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>莫非人生来就是一种越大越孤独的动物</title><link>http://www.cppblog.com/Terrile/archive/2010/04/26/113635.html</link><dc:creator>邹敏</dc:creator><author>邹敏</author><pubDate>Mon, 26 Apr 2010 12:15:00 GMT</pubDate><guid>http://www.cppblog.com/Terrile/archive/2010/04/26/113635.html</guid><wfw:comment>http://www.cppblog.com/Terrile/comments/113635.html</wfw:comment><comments>http://www.cppblog.com/Terrile/archive/2010/04/26/113635.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Terrile/comments/commentRss/113635.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Terrile/services/trackbacks/113635.html</trackback:ping><description><![CDATA[不记得从什么时候开始，常常感觉到孤独。虽然生活在集体之中，虽然有一些朋友，虽然和女朋友相处的很好，但是，总是有一种孤独的心理挥之不去。大概人就是一种越大越孤独的动物吧。。。。。<br><img src ="http://www.cppblog.com/Terrile/aggbug/113635.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Terrile/" target="_blank">邹敏</a> 2010-04-26 20:15 <a href="http://www.cppblog.com/Terrile/archive/2010/04/26/113635.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>真害怕有一天会把自己的理想封存</title><link>http://www.cppblog.com/Terrile/archive/2010/04/04/111569.html</link><dc:creator>邹敏</dc:creator><author>邹敏</author><pubDate>Sun, 04 Apr 2010 02:10:00 GMT</pubDate><guid>http://www.cppblog.com/Terrile/archive/2010/04/04/111569.html</guid><wfw:comment>http://www.cppblog.com/Terrile/comments/111569.html</wfw:comment><comments>http://www.cppblog.com/Terrile/archive/2010/04/04/111569.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Terrile/comments/commentRss/111569.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Terrile/services/trackbacks/111569.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;一直梦想着做些实际的事情，因为我感觉中国混的人太多，而真正踏实做事情的太少。然而，女朋友一而再给我提起房子时，我突然间感觉自己某一天可能会封存自己的理想，而为了房子成为奴隶，成为又一个在这个社会上混钱的人。中国，何时能给理想一片沃土。
<img src ="http://www.cppblog.com/Terrile/aggbug/111569.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Terrile/" target="_blank">邹敏</a> 2010-04-04 10:10 <a href="http://www.cppblog.com/Terrile/archive/2010/04/04/111569.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>