??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲视频精品在线,欧美在线观看日本一区,激情欧美一区二区三区在线观看 http://m.shnenglu.com/shyli/category/1504.htmlC++之梦zh-cnMon, 19 May 2008 12:29:05 GMTMon, 19 May 2008 12:29:05 GMT60一道算法题引发的动态内存管理的思?/title><link>http://m.shnenglu.com/shyli/archive/2007/08/13/29853.html</link><dc:creator>beyonlin</dc:creator><author>beyonlin</author><pubDate>Sun, 12 Aug 2007 16:29:00 GMT</pubDate><guid>http://m.shnenglu.com/shyli/archive/2007/08/13/29853.html</guid><wfw:comment>http://m.shnenglu.com/shyli/comments/29853.html</wfw:comment><comments>http://m.shnenglu.com/shyli/archive/2007/08/13/29853.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/shyli/comments/commentRss/29853.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/shyli/services/trackbacks/29853.html</trackback:ping><description><![CDATA[<p>在做<a >PKU2762</a>Ӟ需要徏L表?br>于是按部q写了下面一个插入边到邻接表中的函数Q?/p> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top twffan="done"><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> VMAX </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1010</span><span style="COLOR: #000000">;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top twffan="done">typedef struct Graph<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top twffan="done">{<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top twffan="done">    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> vex;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top twffan="done">    Graph</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">next</span><span style="COLOR: #000000">;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top twffan="done">}Graph;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top twffan="done">Graph ArcGraph[VMAX];<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top twffan="done">void insert(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> u, </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> v)<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top twffan="done">{<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top twffan="done">    Graph</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000"> t </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> Graph;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top twffan="done">    Graph</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000"> p </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> ArcGraph[u].next;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top twffan="done">    t</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">vex </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> v;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top twffan="done">    t</span><span style="COLOR: #000000">-></span><span style="COLOR: #0000ff">next</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> p;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top twffan="done">    ArcGraph[u].next </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> t;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top twffan="done">}</span></div> <p><br>完成完整的程序提交上去,得到l果<br>Memory:25796K  Time:375MS<br>Language:C++  Result:Accepted<br><br>再对比别人的E序<br>Memory:296K Time:109MS<br><br>无论是时间还是空间都相差很大?br>于是p虑怎么优化自己的程序?br>W一个问题:规模只有1000Qؓ什么会用那么多内存呢?<br>仔细一x据是多case的,每次插入新节Ҏ(gu)都要动态创Z个节炏V?br>一来动态创时_二来每个casel束的邻接表中的节点没有释放Q故耗费大量内存?br>然后想C下面的算法,首先初始化一块内存Graph use[100*VMAX];q样每次需要新节点Ӟ<br>׃use中获取。如果use使用完毕再动态创建?br><br>依此法优化后,得到的结果比较满?br>Memory:1000K  Time:218MS<br>Language:C++  Result:Accepted</p> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top twffan="done"><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> VMAX </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1010</span><span style="COLOR: #000000">;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top twffan="done">typedef struct Graph<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top twffan="done">{<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top twffan="done">    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> vex;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top twffan="done">    Graph</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">next</span><span style="COLOR: #000000">;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top twffan="done">}Graph;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top twffan="done">Graph ArcGraph[VMAX];<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top twffan="done">Graph use[</span><span style="COLOR: #000000">100</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">VMAX];<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top twffan="done"></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> size </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top twffan="done">void insert(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> u, </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> v)<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top twffan="done">{<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top twffan="done">    Graph</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000"> t;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top twffan="done">    </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(size </span><span style="COLOR: #000000"><</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">100</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">VMAX)<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top twffan="done">    {<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top twffan="done">        t </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">use[size];<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top twffan="done">        size</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top twffan="done">    }<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top twffan="done">    </span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"> t </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> Graph;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top twffan="done">    Graph</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000"> p </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> ArcGraph[u].next;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top twffan="done">    t</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">vex </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> v;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top twffan="done">    t</span><span style="COLOR: #000000">-></span><span style="COLOR: #0000ff">next</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> p;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top twffan="done">    ArcGraph[u].next </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> t;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top twffan="done">}</span></div> <img src ="http://m.shnenglu.com/shyli/aggbug/29853.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/shyli/" target="_blank">beyonlin</a> 2007-08-13 00:29 <a href="http://m.shnenglu.com/shyli/archive/2007/08/13/29853.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>再谈子集?/title><link>http://m.shnenglu.com/shyli/archive/2007/07/23/28637.html</link><dc:creator>beyonlin</dc:creator><author>beyonlin</author><pubDate>Mon, 23 Jul 2007 07:56:00 GMT</pubDate><guid>http://m.shnenglu.com/shyli/archive/2007/07/23/28637.html</guid><wfw:comment>http://m.shnenglu.com/shyli/comments/28637.html</wfw:comment><comments>http://m.shnenglu.com/shyli/archive/2007/07/23/28637.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/shyli/comments/commentRss/28637.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/shyli/services/trackbacks/28637.html</trackback:ping><description><![CDATA[发现用stl中的bitset求子集树只要短短的几行代?br> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top twffan="done"><span style="COLOR: #000000">#include</span><span style="COLOR: #000000"><</span><span style="COLOR: #000000">iostream</span><span style="COLOR: #000000">></span><span style="COLOR: #000000"><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top twffan="done">#include</span><span style="COLOR: #000000"><</span><span style="COLOR: #000000">bitset</span><span style="COLOR: #000000">></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_42_235_Open_Image onclick="this.style.display='none'; Codehighlighter1_42_235_Open_Text.style.display='none'; Codehighlighter1_42_235_Closed_Image.style.display='inline'; Codehighlighter1_42_235_Closed_Text.style.display='inline';" src="http://m.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top twffan="done"><img id=Codehighlighter1_42_235_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_42_235_Closed_Text.style.display='none'; Codehighlighter1_42_235_Open_Image.style.display='inline'; Codehighlighter1_42_235_Open_Text.style.display='inline';" src="http://m.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif" align=top twffan="done">using </span><span id=Codehighlighter1_42_235_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">Namespace std</span><span id=Codehighlighter1_42_235_Open_Text><span style="COLOR: #0000ff">namespace</span><span style="COLOR: #000000"> std;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done"></span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> n </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done"></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> main()<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">{<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">    </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">; i </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"> n); i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">    {<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">        bitset</span><span style="COLOR: #000000"><</span><span style="COLOR: #000000">n</span><span style="COLOR: #000000">></span><span style="COLOR: #000000"> bit(i);<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">        </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> j </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> bit.size() </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">; j </span><span style="COLOR: #000000">>=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">; j</span><span style="COLOR: #000000">--</span><span style="COLOR: #000000">)<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">            cout</span><span style="COLOR: #000000"><<</span><span style="COLOR: #000000">bit[j];<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">        cout</span><span style="COLOR: #000000"><<</span><span style="COLOR: #000000">endl;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">    }<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">}<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done"></span></div> </span>n个元素有2^n个子集,<br>i??^n - 1,<br>把它换算成二q制分别对应一个子集? <img src ="http://m.shnenglu.com/shyli/aggbug/28637.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/shyli/" target="_blank">beyonlin</a> 2007-07-23 15:56 <a href="http://m.shnenglu.com/shyli/archive/2007/07/23/28637.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>位运求子集?/title><link>http://m.shnenglu.com/shyli/archive/2007/07/22/28547.html</link><dc:creator>beyonlin</dc:creator><author>beyonlin</author><pubDate>Sat, 21 Jul 2007 18:59:00 GMT</pubDate><guid>http://m.shnenglu.com/shyli/archive/2007/07/22/28547.html</guid><wfw:comment>http://m.shnenglu.com/shyli/comments/28547.html</wfw:comment><comments>http://m.shnenglu.com/shyli/archive/2007/07/22/28547.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/shyli/comments/commentRss/28547.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/shyli/services/trackbacks/28547.html</trackback:ping><description><![CDATA[以前求子集树都是用回溯法Q?br>今天在topcoder做SRM时学CU求子集树的新方法:位运?br>W一重@环是枚D所有子集,?^n个,? << n?br>W二重@环求集合所有j个元素的|0??br>求一? & (1 << j)的值就可以知道它的原理?br> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top twffan="done"><span style="COLOR: #000000">#include</span><span style="COLOR: #000000"><</span><span style="COLOR: #000000">iostream</span><span style="COLOR: #000000">></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_25_557_Open_Image onclick="this.style.display='none'; Codehighlighter1_25_557_Open_Text.style.display='none'; Codehighlighter1_25_557_Closed_Image.style.display='inline'; Codehighlighter1_25_557_Closed_Text.style.display='inline';" src="http://m.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top twffan="done"><img id=Codehighlighter1_25_557_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_25_557_Closed_Text.style.display='none'; Codehighlighter1_25_557_Open_Image.style.display='inline'; Codehighlighter1_25_557_Open_Text.style.display='inline';" src="http://m.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif" align=top twffan="done">using </span><span id=Codehighlighter1_25_557_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">Namespace std</span><span id=Codehighlighter1_25_557_Open_Text><span style="COLOR: #0000ff">namespace</span><span style="COLOR: #000000"> std;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done"></span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> n </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done"></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> x[n];<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done"></span><span style="COLOR: #000000">//</span><span style="COLOR: #000000">回溯?br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">void backtrack(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> t)<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">{<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">    </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(t </span><span style="COLOR: #000000">>=</span><span style="COLOR: #000000"> n)<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">    {<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">        </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">; i </span><span style="COLOR: #000000"><</span><span style="COLOR: #000000"> n; i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">            cout</span><span style="COLOR: #000000"><<</span><span style="COLOR: #000000">x[i];<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">        cout</span><span style="COLOR: #000000"><<</span><span style="COLOR: #000000">endl;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">    }<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">    </span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">    {<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">        </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">; i </span><span style="COLOR: #000000"><=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">; i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">        {<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">            x[t] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> i;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">            backtrack(t </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">);<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">        }<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">    }<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">}<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done"></span><span style="COLOR: #000000">//</span><span style="COLOR: #000000">位运?br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">void bitOperate()<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">{<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">    </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">; i </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"> n); i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">    {<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">        </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> j </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">; j </span><span style="COLOR: #000000"><</span><span style="COLOR: #000000"> n; j</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">        {<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">            </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">( (i </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"> j) ) </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">                x[j] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">            </span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">                x[j] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">        }<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">        </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> j </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">; j </span><span style="COLOR: #000000"><</span><span style="COLOR: #000000"> n; j</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">            cout</span><span style="COLOR: #000000"><<</span><span style="COLOR: #000000">x[j];<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">        cout</span><span style="COLOR: #000000"><<</span><span style="COLOR: #000000">endl;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">    }<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">}<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done"></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> main()<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">{<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">    backtrack(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">);<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">    cout</span><span style="COLOR: #000000"><<</span><span style="COLOR: #000000">endl;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">    bitOperate();<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done">}<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top twffan="done"></span></div> </span> <img src ="http://m.shnenglu.com/shyli/aggbug/28547.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/shyli/" target="_blank">beyonlin</a> 2007-07-22 02:59 <a href="http://m.shnenglu.com/shyli/archive/2007/07/22/28547.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>字符串hash函数http://m.shnenglu.com/shyli/archive/2007/04/07/21455.htmlbeyonlinbeyonlinSat, 07 Apr 2007 08:22:00 GMThttp://m.shnenglu.com/shyli/archive/2007/04/07/21455.htmlhttp://m.shnenglu.com/shyli/comments/21455.htmlhttp://m.shnenglu.com/shyli/archive/2007/04/07/21455.html#Feedback2http://m.shnenglu.com/shyli/comments/commentRss/21455.htmlhttp://m.shnenglu.com/shyli/services/trackbacks/21455.html在下列程序中Q不是按常规Ҏ(gu)用哈希表来记录关键字Q?br>而是用整型数lHtable记录关键字在字符串ch中的位置?br>在插入时不用把关键字复制到哈希表中,只是记录一个烦引,从而提高了效率?br>当查询时Q只要把Htable的值映到字符串ch中就可以了?br>注意ch的下标要?开始,因ؓHtable中的零D为是I,处理h比较方便?
#include<iostream>
#include
<string>
using 
namespace std;
const int MAXN = 9973//哈希表长?br>const int len = 30//字符串的最大长?br>int Htable[MAX];
char ch[MAX][len]; //存储关键字的字符?br>unsigned long Hash(char * key)
{
    unsigned 
long h = 0;
    
while(*key)
    {
        h 
= (h << 4+ *key++;
        unsigned 
long g = h & 0xf0000000L;
        
if(g)
            h 
^= g >> 24;
        h 
&= ~g;
    }
    
return h % MAX;
}
int search(char * key)
{
    unsigned 
long i = Hash(key);
    
while(Htable[i])
    {
        
if(strcmp(ch[Htable[i]], key) == 0)
            
return i;
        i 
= (i + 1) % MAX;
    }
    
return -1;
}
int insert(char * key, int j) //j为关键字在ch中的位置Q即索引
{
    unsigned 
long i = Hash(key);
    
while(Htable[i])
        i 
= (i + 1) % MAX;
    Htable[i] 
= j;
    
return i;
}


beyonlin 2007-04-07 16:22 发表评论
]]>
优先队列用法http://m.shnenglu.com/shyli/archive/2007/04/06/21366.htmlbeyonlinbeyonlinThu, 05 Apr 2007 18:09:00 GMThttp://m.shnenglu.com/shyli/archive/2007/04/06/21366.htmlhttp://m.shnenglu.com/shyli/comments/21366.htmlhttp://m.shnenglu.com/shyli/archive/2007/04/06/21366.html#Feedback0http://m.shnenglu.com/shyli/comments/commentRss/21366.htmlhttp://m.shnenglu.com/shyli/services/trackbacks/21366.html在优先队列中Q优先高的元素先出队列?br>标准库默认用元素类型的<操作W来定它们之间的优先关系?br>优先队列的第一U用法,也是最常用的用法:

priority_queue<int> qi;

通过<操作W可知在整数中元素大的优先高?br>故示?中输出结果ؓQ? 6 5 3 2

W二U方法:
在示?中,如果我们要把元素从小到大输出怎么办呢Q?br>q时我们可以传入一个比较函敎ͼ使用functional.h函数对象作ؓ比较函数?/p>

priority_queue<int, vector<int>, greater<int> >qi2;

其中
W二个参Cؓ容器cd?br>W二个参Cؓ比较函数?br>故示?中输出结果ؓQ? 3 5 6 9

W三U方法:
自定义优先?/p>

struct node
{
    
friend bool operator< (node n1, node n2)
    {
        
return n1.priority < n2.priority;
    }
    
int priority;
    
int value;
};

在该l构中,value为|priorityZ先?br>通过自定义operator<操作W来比较元素中的优先U?br>在示?中输出结果ؓQ?br>优先U?nbsp; ?br>9          5
8          2
6          1
2          3
1          4
但如果结构定义如下:

struct node
{
    
friend bool operator> (node n1, node n2)
    {
        
return n1.priority > n2.priority;
    }
    
int priority;
    
int value;
};

则会~译不过QG++~译器)
因ؓ标准库默认用元素类型的<操作W来定它们之间的优先关系?br>而且自定义类型的<操作W与>操作Wƈ无直接联p,故会~译不过?br>
//代码清单

#include<iostream>
#include
<functional>
#include
<queue>
using 
namespace std;
struct node
{
    
friend bool operator< (node n1, node n2)
    {
        
return n1.priority < n2.priority;
    }
    
int priority;
    
int value;
};
int main()
{
    
const int len = 5;
    
int i;
    
int a[len= {3,5,9,6,2};
    
//CZ1
    priority_queue
<int> qi;
    
for(i = 0; i < len; i++)
        qi.push(a[i]);
    
for(i = 0; i < len; i++)
    {
        cout
<<qi.top()<<" ";
        qi.pop();
    }
    cout
<<endl;
    
//CZ2
    priority_queue
<int, vector<int>, greater<int> >qi2;
    
for(i = 0; i < len; i++)
        qi2.push(a[i]);
    
for(i = 0; i < len; i++)
    {
        cout
<<qi2.top()<<" ";
        qi2.pop();
    }
    cout
<<endl;
    
//CZ3
    priority_queue
<node> qn;
    node b[
len];
    b[
0].priority = 6; b[0].value = 1
    b[
1].priority = 9; b[1].value = 5
    b[
2].priority = 2; b[2].value = 3
    b[
3].priority = 8; b[3].value = 2
    b[
4].priority = 1; b[4].value = 4

    
for(i = 0; i < len; i++)
        qn.push(b[i]);
    cout
<<"优先U?/span>"<<'\t'<<"?<<endl;
    for(i = 0; i < len; i++)
    {
        cout
<<qn.top().priority<<'\t'<<qn.top().value<<endl;
        qn.pop();
    }
    
return 0;
}


beyonlin 2007-04-06 02:09 发表评论
]]>
计数排序http://m.shnenglu.com/shyli/archive/2007/04/03/21130.htmlbeyonlinbeyonlinMon, 02 Apr 2007 16:57:00 GMThttp://m.shnenglu.com/shyli/archive/2007/04/03/21130.htmlhttp://m.shnenglu.com/shyli/comments/21130.htmlhttp://m.shnenglu.com/shyli/archive/2007/04/03/21130.html#Feedback0http://m.shnenglu.com/shyli/comments/commentRss/21130.htmlhttp://m.shnenglu.com/shyli/services/trackbacks/21130.htmlcountSort用于Ҏ(gu)型数l排序,旉复杂度ؓO(k+n)?br>当k = O(n)Ӟ旉复杂度变为O(n)?br>c[i]记录a数组中数值大于或{于i的个?br>
int countSort(int * a, int k, int n)
{
    
int i;
    
int * c = new int [k+1], * b = new int [n];
    
for(i = 0; i <= k; i++)
        c[i] 
= 0;
    
for(i = 0; i < n; i++)
        c[a[i]]
++;
    
for(i = 1; i <= k; i++)
        c[i] 
+= c[i-1];
    
for(i = n - 1; i >= 0; i--)
    {
        b[c[a[i]]
-1= a[i];
        c[a[i]]
--;
    }
    
for(i = 0; i < n; i++)
        a[i] 
= b[i];
    delete [] b;
    delete [] c;
    
return 0;
}


beyonlin 2007-04-03 00:57 发表评论
]]>
《C++ Primer》之MW记?/title><link>http://m.shnenglu.com/shyli/archive/2007/03/16/19938.html</link><dc:creator>beyonlin</dc:creator><author>beyonlin</author><pubDate>Thu, 15 Mar 2007 17:29:00 GMT</pubDate><guid>http://m.shnenglu.com/shyli/archive/2007/03/16/19938.html</guid><wfw:comment>http://m.shnenglu.com/shyli/comments/19938.html</wfw:comment><comments>http://m.shnenglu.com/shyli/archive/2007/03/16/19938.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/shyli/comments/commentRss/19938.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/shyli/services/trackbacks/19938.html</trackback:ping><description><![CDATA[ <hr /> 学到了一个新的知识点Q函数对象?br />定义了调用操作符的类Q其对象UCؓ函数对象?br />例如<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://m.shnenglu.com/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000">#include</span><span style="COLOR: #000000"><</span><span style="COLOR: #000000">iostream</span><span style="COLOR: #000000">></span><span style="COLOR: #000000"><br /><img id="Codehighlighter1_25_188_Open_Image" onclick="this.style.display='none'; Codehighlighter1_25_188_Open_Text.style.display='none'; Codehighlighter1_25_188_Closed_Image.style.display='inline'; Codehighlighter1_25_188_Closed_Text.style.display='inline';" src="http://m.shnenglu.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_25_188_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_25_188_Closed_Text.style.display='none'; Codehighlighter1_25_188_Open_Image.style.display='inline'; Codehighlighter1_25_188_Open_Text.style.display='inline';" src="http://m.shnenglu.com/images/OutliningIndicators/ContractedBlock.gif" align="top" />using </span><span id="Codehighlighter1_25_188_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">Namespace std</span><span id="Codehighlighter1_25_188_Open_Text"><span style="COLOR: #0000ff">namespace</span><span style="COLOR: #000000"> std;<br /><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />struct absInt<br /><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />{<br /><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> operator() (</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> v)<br /><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />    {<br /><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> v </span><span style="COLOR: #000000">></span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000"> ? v : </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">v;<br /><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />    }<br /><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />};<br /><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> main()<br /><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />{ <br /><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />    absInt obj;<br /><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> a </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> obj(</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">15</span><span style="COLOR: #000000">);<br /><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />    cout</span><span style="COLOR: #000000"><<</span><span style="COLOR: #000000">a</span><span style="COLOR: #000000"><<</span><span style="COLOR: #000000">endl;<br /><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br /><img src="http://m.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" />}</span></span></div>输出l果?5?br />对类absInt的对象obj使用调用操作W就像用函C栗?img src ="http://m.shnenglu.com/shyli/aggbug/19938.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/shyli/" target="_blank">beyonlin</a> 2007-03-16 01:29 <a href="http://m.shnenglu.com/shyli/archive/2007/03/16/19938.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>插入排序泛型法http://m.shnenglu.com/shyli/archive/2007/02/06/18485.htmlbeyonlinbeyonlinTue, 06 Feb 2007 11:13:00 GMThttp://m.shnenglu.com/shyli/archive/2007/02/06/18485.htmlhttp://m.shnenglu.com/shyli/comments/18485.htmlhttp://m.shnenglu.com/shyli/archive/2007/02/06/18485.html#Feedback3http://m.shnenglu.com/shyli/comments/commentRss/18485.htmlhttp://m.shnenglu.com/shyli/services/trackbacks/18485.htmltemplate <typename Iter> void insertSort(Iter *begin, Iter *end) { for(Iter *it = begin + 1; it != end; it++) { Iter tmp = *it; Iter *it2 = it - 1; while(it2 > begin - 1 && *it2 > tmp) { *(it2 + 1) = *it2; it2 --; } *(it2 + 1) = tmp; } }

beyonlin 2007-02-06 19:13 发表评论
]]>
《C++ Primer》之MW记?/title><link>http://m.shnenglu.com/shyli/archive/2007/01/30/18185.html</link><dc:creator>beyonlin</dc:creator><author>beyonlin</author><pubDate>Tue, 30 Jan 2007 10:04:00 GMT</pubDate><guid>http://m.shnenglu.com/shyli/archive/2007/01/30/18185.html</guid><wfw:comment>http://m.shnenglu.com/shyli/comments/18185.html</wfw:comment><comments>http://m.shnenglu.com/shyli/archive/2007/01/30/18185.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/shyli/comments/commentRss/18185.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/shyli/services/trackbacks/18185.html</trackback:ping><description><![CDATA[ <pre> 模板作用域中的模板类型引用? template <class elemType> class ListItem; template <class elemType> class List { public: List<elemType> (); ~List(); private: //ListItem *front; //ListItem *end; ListItem<elemType> *front; ListItem<elemType> *end; }; 通常使用cL板的名字的时候,必须指定模板形参? 但在cLw的作用域内部,可以使用cL板的非限定名? 例如QList是List<elemType>的羃写? 但编译器不会为类中用的其他的模板Ş参进行这L(fng)推断Q因此必L定类型Ş参? 例如在List模板cM使用ListItem模板cLQ? ListItem *front 是错误的 ListItem<elemType> *front 才是正确的? </pre> <img src ="http://m.shnenglu.com/shyli/aggbug/18185.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/shyli/" target="_blank">beyonlin</a> 2007-01-30 18:04 <a href="http://m.shnenglu.com/shyli/archive/2007/01/30/18185.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>《C++ Primer》之MW记?/title><link>http://m.shnenglu.com/shyli/archive/2007/01/22/17901.html</link><dc:creator>beyonlin</dc:creator><author>beyonlin</author><pubDate>Mon, 22 Jan 2007 15:50:00 GMT</pubDate><guid>http://m.shnenglu.com/shyli/archive/2007/01/22/17901.html</guid><wfw:comment>http://m.shnenglu.com/shyli/comments/17901.html</wfw:comment><comments>http://m.shnenglu.com/shyli/archive/2007/01/22/17901.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/shyli/comments/commentRss/17901.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/shyli/services/trackbacks/17901.html</trackback:ping><description><![CDATA[ <pre> #include<cstdio> using namespace std; template<class T, class T1, class T2> T sum(T1 v1, T2 v2) { T value = v1 + v2; return value; } int main() { int i = sum<int>(1,2.1);//调用正确? return 0; } #include<cstdio> using namespace std; template<class T1, class T2, class T> T sum(T1 v1, T2 v2) { T value = v1 + v2; return value; } int main() { int j = sum<int>(1,2.1);//调用错误? int k = sum<int, int, double>(1,2.1);//调用正确? return 0; } q两U区别就在于template的定义: template<class T, class T1, class T2> ? template<class T1, class T2, class T> 昑ּ模板实参与对应模板Ş参相匚w? int j = sum<int>(1,2.1); 在这个调用中Qint对应的是T1, 没有实参的类型可以推断T的类型,故该调用是错误的? </pre> <img src ="http://m.shnenglu.com/shyli/aggbug/17901.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/shyli/" target="_blank">beyonlin</a> 2007-01-22 23:50 <a href="http://m.shnenglu.com/shyli/archive/2007/01/22/17901.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>《C++ Primer》之MW记?/title><link>http://m.shnenglu.com/shyli/archive/2006/11/20/15443.html</link><dc:creator>beyonlin</dc:creator><author>beyonlin</author><pubDate>Sun, 19 Nov 2006 16:46:00 GMT</pubDate><guid>http://m.shnenglu.com/shyli/archive/2006/11/20/15443.html</guid><wfw:comment>http://m.shnenglu.com/shyli/comments/15443.html</wfw:comment><comments>http://m.shnenglu.com/shyli/archive/2006/11/20/15443.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/shyli/comments/commentRss/15443.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/shyli/services/trackbacks/15443.html</trackback:ping><description><![CDATA[泛型~程的两个重要原? <li>模板的Ş参是const引用? </li><li>函数体中的测试只?lt;比较?<br />形参用const参数可以使函数运行得更加快?<br />只用<比较对参数类型的要求Q只L?lt;Q但不必支持>?/li><img src ="http://m.shnenglu.com/shyli/aggbug/15443.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/shyli/" target="_blank">beyonlin</a> 2006-11-20 00:46 <a href="http://m.shnenglu.com/shyli/archive/2006/11/20/15443.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>scanf()函数http://m.shnenglu.com/shyli/archive/2006/10/18/13840.htmlbeyonlinbeyonlinWed, 18 Oct 2006 14:51:00 GMThttp://m.shnenglu.com/shyli/archive/2006/10/18/13840.htmlhttp://m.shnenglu.com/shyli/comments/13840.htmlhttp://m.shnenglu.com/shyli/archive/2006/10/18/13840.html#Feedback0http://m.shnenglu.com/shyli/comments/commentRss/13840.htmlhttp://m.shnenglu.com/shyli/services/trackbacks/13840.html转自Q?a >http://blog.csdn.net/liu_tang/archive/2006/08/01/1008611.aspx
函数? scanf
功?? 执行格式化输?
用?? int scanf(char *format[,argument,...]);

scanf()函数是通用l端格式化输入函敎ͼ它从标准输入讑֤(键盘) d输入的信息。可以读入Q何固有类型的数据q自动把数值变换成适当的机内格式?/p>

其调用格式ؓ:      scanf("<格式化字W串>"Q?lt;地址?gt;);

scanf()函数q回成功赋值的数据Ҏ(gu)Q出错时则返回EOF?/p>

其控制串׃cdW构成:

1。格式化说明W;
2。空白符Q?br />3。非I白W;


QAQ              ?格式化说明符


格式字符           说明

%a                 d一个Q点?仅C99有效)
%A                 同上
%c                 d一个字W?br />%d                 d十进制整?br />%i                 d十进Ӟ八进Ӟ十六q制整数
%o                 d八进制整?br />%x                 d十六q制整数
%X                 同上
%c                 d一个字W?br />%s                 d一个字W串
%f                 d一个QҎ(gu)
%F                 同上
%e                 同上
%E                 同上
%g                 同上
%G                 同上
%p                 d一个指?br />%u                 d一个无W号十进制整?br />%n                 x已读入值的{h(hun)字符?br />%[]                扫描字符集合
%%                 ?W号



beyonlin 2006-10-18 22:51 发表评论
]]>
istringstream用法http://m.shnenglu.com/shyli/archive/2006/10/17/13758.htmlbeyonlinbeyonlinMon, 16 Oct 2006 16:37:00 GMThttp://m.shnenglu.com/shyli/archive/2006/10/17/13758.htmlhttp://m.shnenglu.com/shyli/comments/13758.htmlhttp://m.shnenglu.com/shyli/archive/2006/10/17/13758.html#Feedback0http://m.shnenglu.com/shyli/comments/commentRss/13758.htmlhttp://m.shnenglu.com/shyli/services/trackbacks/13758.html
#include<iostream>
#include<sstream>
using namespace std;
int main()
{
	string str, line;
	while(getline(cin, line))
	{
		istringstream stream(line);
		while(stream>>str)
			cout<<str.c_str()<<endl;
	}	
	return 0;
}
试Q?br />inputQ?br />abc   df   e              efgeg      ffg

ouputQ?br />abc
df
e
efgeg
ffg


beyonlin 2006-10-17 00:37 发表评论
]]>
itoa函数http://m.shnenglu.com/shyli/archive/2006/10/12/13588.htmlbeyonlinbeyonlinWed, 11 Oct 2006 16:59:00 GMThttp://m.shnenglu.com/shyli/archive/2006/10/12/13588.htmlhttp://m.shnenglu.com/shyli/comments/13588.htmlhttp://m.shnenglu.com/shyli/archive/2006/10/12/13588.html#Feedback6http://m.shnenglu.com/shyli/comments/commentRss/13588.htmlhttp://m.shnenglu.com/shyli/services/trackbacks/13588.html#include<cstdlib>
#include<cstdio>
int main() { int num = 10; char str[100]; itoa(num, str, 2); printf("%s\n", str); return 0; }itoa()函数?个参敎ͼW一个参数是要{换的数字Q第二个参数是目标字W串Q第三个参数是{UL字时所?的基数。在上例中,转换基数?0?0Q十q制Q?Q二q制…?br />于是惛_了一个十q制转二q制的方法:
#include<cstdlib>
#include<cstdio>
int main() { int num = 10; char str[100]; int n = atoi(itoa(num, str, 2)); printf("%d\n",n); return 0; }
先把num转换Zq制的字W串Q再把该字符串{换ؓ整数?/pre>

beyonlin 2006-10-12 00:59 发表评论
]]>C++高手必看的C++书单 http://m.shnenglu.com/shyli/archive/2006/09/21/12775.htmlbeyonlinbeyonlinWed, 20 Sep 2006 16:13:00 GMThttp://m.shnenglu.com/shyli/archive/2006/09/21/12775.htmlhttp://m.shnenglu.com/shyli/comments/12775.htmlhttp://m.shnenglu.com/shyli/archive/2006/09/21/12775.html#Feedback0http://m.shnenglu.com/shyli/comments/commentRss/12775.htmlhttp://m.shnenglu.com/shyli/services/trackbacks/12775.html转蝲自:http://m.shnenglu.com/zerolee/archive/2006/09/12/12335.html

增添于网上的一些书单:

C++/OPP/OODpd:
层一Q语?语意(C++)
[Lippman2000] Essential C++
Essential C++,by Stanley B. Lippman Addison Wesley Longman 2000,276 pages
Essential C++ 中文?Q侯俊杰 译,282?

[Andrew Koeing & Barbara MOO] Accelerated C++
Accelerated c++, Andrew Koeing & Barbara MOO, Addison Wesley, 2000

[Eckel2000] Thinking in C++
Thinking in C++ 2/e Bruce Eckel 2000 1470 pages Prentice Hall
C++ ~程思想Q刘宗田{?译,420?

[Lippman98] C++Primer
C++ Primer,3rd Editoin,by Stanley Lippman and Josee Lajoie
Addison Wesley Longman,1998 1237 pages
C++ Primer 中文版,侯俊?译,1999Q?237?

[Struostrup2000] The C++ Programming Language
The C++ Programming Language,Special Editoin,by Bjarne Stroustrup
Addison Wesley Longman,2000,1017 pages

[ANSI C++] C++规格?1998.9.1 PDF格式
ANSI C++ 1996 Draft


层二:专家l验(C++/OOP)
[Meyers96] More Effective C++
More Effective C++, by Scott Meyers,Addison Wesley,1996,318pages
More Effective C++中文版,侯俊李ͼ培生 2000. 318?

[Meyers98] Effective C++
Effective C++, Second Edition,by Scott Meyers,Addison Wesley Longman,1998.256pages
Effective C++ 2/e 中文?侯俊?培生 2000.256?br />Effective C++, Third Edition, by Scott Meyers, Addison Wesley Longman.

[Sutter99] Exceptional C++
Exceptional C++Qby Herb Sutter,Addison Wesley Longman,2000.208pages
Exceptional C++中文版,侯俊?培生 2000.248?

[Sutter2001]More Exceptional C++
More Exceptional C++ by Herb Sutter, Addison Wesley Longman, 2001.

[Sutter2004]Exception C++ Style
Exception C++ Style by Herb Sutter, Addison Wesley Longman, 2004.

层三:底层机制(C++ Object Model)
[Ellis90] The Annotated C++ Reference Manual
The Annotated C++ Reference Manual,by Margaret A.Ellis and Bjarne Stroustrup
Addison Wesley Longman,1990,447 pages.

[Lippman96] Inside the C++ Object Model
Inside the C++ Object Model,by Stanley Lippman,Addison Wesley Longman,1996,280pages
深度探烦C++物g模型Q侯俊杰 ?

层四:设计观念的复?C++/Patterns)
[Gamma95] Design PatternsQElements of Reusable Object Oriented Software,
by Erich Gamma,Richard Helm,Ralph Johnson,and John Vlissides,Addison Wesley,1995.395pages
设计模式,李英军等?机械工业出版C?2000.254?

[Alex2001]Modern C++ Design: Generic Programming and Design Patterns Applied
by Andrei Alexandrescu,Addison-Wesley,2001,352Paper


Genericity/STLpd(与层U二同步Q?
W一个境界是使用STL:
[Josuttis99]:The C++ Standard Library QA Tutorial and Reference,by Nicolai M.Josuttis,
Addison Wesley 1999.799pages

W二个境界是了解泛型技术的内涵与STL的学?
[Austern98]:Generic Programming and the STL -Using and Extending the C++ Standard
Template library,by Matthew H.Austern,Addison Wesley 1998.548page


W三个境界是扩充STL:
[Stepanov2001]:C++ Standard Template Library by P.J.Plauger,Alexander A.Stepanov,
Meng Lee,David R.Musser,Prentice Hall 2001

其他书目Q?br />1. Large-scale C++ software Design, John Lako, Addison Wesley, 1996
2. Effective STL, Scott Meyers, Addison Wesley, 1995
3. C++ FAQs, 2nd, Marshall Cline, Greg Lomow, Mike Girou, Addison Wesley, 1998
4. C++ Gotchas, Stephen Dewhurst, Addison Wesley, 2002
5. C++ templates, the complete Guide, Daveed Vandevoorde & Nicolar M.Josuttis, Addison Wesley, 2002
6. Standard C++ iostreams and Locals, Angelika Langer & Klaus Kreft, Addison Wesley, 2000
7. Design & Evolution of C++, BS, Addison Wesley, 1994
8. Modern C++ Design, Andrie Alexandrescu, Addison Wesley, 2001
9. Generative Programming, Krzysztof Czarnecki & Ulrich Eisencecker, Addison Wesley, 2000
10.Pattern-oriented software architecture, Vol1:A system of patterns, Frank Buschmann, 1996
11. STL 源码剖析Q侯?br />12. C++ Coding Standards 101 Rules Guidelines, Andrie Alexandrescu & Herb Sutter, Addison Wesley, 2005



beyonlin 2006-09-21 00:13 发表评论
]]>
刚接触泛型编E?/title><link>http://m.shnenglu.com/shyli/archive/2006/09/20/12774.html</link><dc:creator>beyonlin</dc:creator><author>beyonlin</author><pubDate>Wed, 20 Sep 2006 15:54:00 GMT</pubDate><guid>http://m.shnenglu.com/shyli/archive/2006/09/20/12774.html</guid><wfw:comment>http://m.shnenglu.com/shyli/comments/12774.html</wfw:comment><comments>http://m.shnenglu.com/shyli/archive/2006/09/20/12774.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://m.shnenglu.com/shyli/comments/commentRss/12774.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/shyli/services/trackbacks/12774.html</trackback:ping><description><![CDATA[写了algorithm头文件中?个算法:<br /><br /><pre>find.h #ifndef FIND_H #define FIND_H template <typename ITER , typename T> ITER find(ITER begin, ITER end, T value) { ITER it; for(it = begin; it != end; ++it) if(*it == value) break; return it; } #endif </pre><br /><pre><br /> count.h #ifndef COUNT_H #define COUNT_H template <typename ITER , typename T> int count(ITER begin, ITER end, T value) { int sum = 0; for(ITER it = begin; it != end; ++it) { if(*it == value) ++sum; } return sum; } #endif </pre><pre>以后接着写?/pre><img src ="http://m.shnenglu.com/shyli/aggbug/12774.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/shyli/" target="_blank">beyonlin</a> 2006-09-20 23:54 <a href="http://m.shnenglu.com/shyli/archive/2006/09/20/12774.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>《C++ Primer》之MW记?/title><link>http://m.shnenglu.com/shyli/archive/2006/08/03/10825.html</link><dc:creator>beyonlin</dc:creator><author>beyonlin</author><pubDate>Thu, 03 Aug 2006 13:18:00 GMT</pubDate><guid>http://m.shnenglu.com/shyli/archive/2006/08/03/10825.html</guid><wfw:comment>http://m.shnenglu.com/shyli/comments/10825.html</wfw:comment><comments>http://m.shnenglu.com/shyli/archive/2006/08/03/10825.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://m.shnenglu.com/shyli/comments/commentRss/10825.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/shyli/services/trackbacks/10825.html</trackback:ping><description><![CDATA[ <p>序容器的比?/p> <table bgcolor="#cccccc" border="1"> <tbody> <tr> <td> <font size="2">插入|删除位置 </font> <div align="right"> <font size="2">/效率</font> </div> </td> <td> <div align="center"> <font size="2">头部</font> </div> </td> <td> <div align="center"> <font size="2">中间</font> </div> </td> <td> <div align="center"> <font size="2">N</font> </div> </td> <td> <div align="center"> <font size="2">随机讉K</font> </div> </td> </tr> <tr> <td> <div align="center"> <font size="2">vector</font> </div> </td> <td> <div align="center"> <font size="2">?/font> </div> </td> <td> <div align="center"> <font size="2">?/font> </div> </td> <td> <div align="center"> <font size="2">?/font> </div> </td> <td> <div align="center"> <font size="2">Yes</font> </div> </td> </tr> <tr> <td> <div align="center"> <font size="2">list</font> </div> </td> <td> <div align="center"> <font size="2">?/font> </div> </td> <td> <div align="center"> <font size="2">?/font> </div> </td> <td> <div align="center"> <font size="2">?/font> </div> </td> <td> <div align="center"> <font size="2">No</font> </div> </td> </tr> <tr> <td> <div align="center"> <font size="2">deque</font> </div> </td> <td> <div align="center"> <font size="2">?/font> </div> </td> <td> <div align="center"> <font size="2">?/font> </div> </td> <td> <div align="center"> <font size="2">?/font> </div> </td> <td> <div align="center"> <font size="2">Yes</font> </div> </td> </tr> </tbody> </table> <img src ="http://m.shnenglu.com/shyli/aggbug/10825.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/shyli/" target="_blank">beyonlin</a> 2006-08-03 21:18 <a href="http://m.shnenglu.com/shyli/archive/2006/08/03/10825.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>《C++ Primer》之MW记?/title><link>http://m.shnenglu.com/shyli/archive/2006/06/28/9086.html</link><dc:creator>beyonlin</dc:creator><author>beyonlin</author><pubDate>Tue, 27 Jun 2006 16:10:00 GMT</pubDate><guid>http://m.shnenglu.com/shyli/archive/2006/06/28/9086.html</guid><wfw:comment>http://m.shnenglu.com/shyli/comments/9086.html</wfw:comment><comments>http://m.shnenglu.com/shyli/archive/2006/06/28/9086.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://m.shnenglu.com/shyli/comments/commentRss/9086.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/shyli/services/trackbacks/9086.html</trackback:ping><description><![CDATA[ <p> <font size="2">创徏对象的几U方式的效率比较</font> </p> <p> <font size="2">q里以stringcMؓ例:</font> </p> <p> <font size="2">1、string str1 = "";<br />2、string str2 = string();<br />3、string str3;</font> </p> <p> <font size="2">W一U方式:调用stringcL受字W串形参的构造函敎ͼ创徏一个(f)时对象?br />然后调用复制构造函数用该对象初始化str1?/font> </p> <p> <font size="2">W二U方式:调用stringcȝ默认构造函敎ͼ创徏一个(f)时对象?br />然后调用复制构造函数用该对象初始化str2?/font> </p> <p> <font size="2">W三U方式:直接调用stringcȝ默认构造函数初始化str3?/font> </p> <p> <font size="2">创徏临时对象的代h高的?/font> </p> <p> <font size="2">因此创徏对象应尽量不要用会创徏临时对象的初始化方式?/font> </p> <p> <font size="2">在用类时也量不要创徏临时对象?/font> </p> <img src ="http://m.shnenglu.com/shyli/aggbug/9086.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/shyli/" target="_blank">beyonlin</a> 2006-06-28 00:10 <a href="http://m.shnenglu.com/shyli/archive/2006/06/28/9086.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>《C++ Primer》之MW记一http://m.shnenglu.com/shyli/archive/2006/06/27/9053.htmlbeyonlinbeyonlinMon, 26 Jun 2006 16:11:00 GMThttp://m.shnenglu.com/shyli/archive/2006/06/27/9053.htmlhttp://m.shnenglu.com/shyli/comments/9053.htmlhttp://m.shnenglu.com/shyli/archive/2006/06/27/9053.html#Feedback0http://m.shnenglu.com/shyli/comments/commentRss/9053.htmlhttp://m.shnenglu.com/shyli/services/trackbacks/9053.html包含以下成员的类的构造函数必M用初始化

1?没有默认构造函数的cȝ型的成员?/font>
2?const成员?br />3?/font> 引用cd的成员?

beyonlin 2006-06-27 00:11 发表评论
]]>
Visual Assisthttp://m.shnenglu.com/shyli/archive/2006/06/18/8688.htmlbeyonlinbeyonlinSun, 18 Jun 2006 09:39:00 GMThttp://m.shnenglu.com/shyli/archive/2006/06/18/8688.htmlhttp://m.shnenglu.com/shyli/comments/8688.htmlhttp://m.shnenglu.com/shyli/archive/2006/06/18/8688.html#Feedback2http://m.shnenglu.com/shyli/comments/commentRss/8688.htmlhttp://m.shnenglu.com/shyli/services/trackbacks/8688.html 推荐一Ƒֿ速编辑C++代码的插件Visual Assist?

它能自动识别各种关键字,pȝ函数Q成员变量,

自动l出输入提示Q自动更正大写错误Q?

自动标示错误Q等{等{?

用了它,你写代码的速度一定大大提高?



beyonlin 2006-06-18 17:39 发表评论
]]>
指针?http://m.shnenglu.com/shyli/archive/2006/06/10/8371.htmlbeyonlinbeyonlinSat, 10 Jun 2006 05:01:00 GMThttp://m.shnenglu.com/shyli/archive/2006/06/10/8371.htmlhttp://m.shnenglu.com/shyli/comments/8371.htmlhttp://m.shnenglu.com/shyli/archive/2006/06/10/8371.html#Feedback0http://m.shnenglu.com/shyli/comments/commentRss/8371.htmlhttp://m.shnenglu.com/shyli/services/trackbacks/8371.html Once in a time...

看到一D代码:

char *p1,*p2;
//something
if(p1!=0)strcpy(p2,p1);

奇怪,指针怎么能够?相比呢?


N days later...

一个有效的指针有三U状态:

一、保存一个特定对象的地址?

二、指向某个对象后面的另一对象?

三、gؓ0Q表明它不指向Q何对象?

if(p1!=0)strcpy(p2,p1);
<=>
if(p1!=NULL)strcpy(p2,p1);// q种形式更易理解?

NULL 是在 cstdlib 头文件中定义的变量,gؓ0.



beyonlin 2006-06-10 13:01 发表评论
]]>
试E序q行旉http://m.shnenglu.com/shyli/archive/2006/05/28/7768.htmlbeyonlinbeyonlinSun, 28 May 2006 05:15:00 GMThttp://m.shnenglu.com/shyli/archive/2006/05/28/7768.htmlhttp://m.shnenglu.com/shyli/comments/7768.htmlhttp://m.shnenglu.com/shyli/archive/2006/05/28/7768.html#Feedback7http://m.shnenglu.com/shyli/comments/commentRss/7768.htmlhttp://m.shnenglu.com/shyli/services/trackbacks/7768.htmlACM题目大都有规定运行时间的Q?br />
那么我们如何得E序q行旉呢?

q就得益于C++函数库time.h

下面是一D늤范代码:

#include<iostream>
#include<time.h>
using namespace std;
int main()
{
       long beginTime =clock();//获得开始时_单位为毫U?br />
       for(int i=0;i<10000;i++){cout<<i<<endl;}//输出10000行数?br />
       long endTime=clock();//获得l束旉

      cout<<"beginTime:"<<beginTime<<endl
             <<"endTime:"<<endTime<<endl
             <<"endTime-beginTime:"<<endTime-beginTime<<endl;

       return 0;
}


beyonlin 2006-05-28 13:15 发表评论
]]>对不存在的元素进行下标操?/title><link>http://m.shnenglu.com/shyli/archive/2006/05/24/7585.html</link><dc:creator>beyonlin</dc:creator><author>beyonlin</author><pubDate>Wed, 24 May 2006 10:19:00 GMT</pubDate><guid>http://m.shnenglu.com/shyli/archive/2006/05/24/7585.html</guid><wfw:comment>http://m.shnenglu.com/shyli/comments/7585.html</wfw:comment><comments>http://m.shnenglu.com/shyli/archive/2006/05/24/7585.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/shyli/comments/commentRss/7585.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/shyli/services/trackbacks/7585.html</trackback:ping><description><![CDATA[ <p> <font color="#808080" size="2">很多初学者在用string cȝ时候会犯这L(fng)错误Q?/font> </p> <p> <font color="#808080" size="2">操作不存在的元素Q如:</font> </p> <p> <font color="#808080" size="2">#include<iostream><br />#include<string><br />using namespace std;<br />int main()<br />{<br />       string str;<br />       cin>>str[0];<br />       cout<<str[0];<br />       return 0;<br />}</font> </p> <p> <font color="#808080" size="2">q样得到输出的结果是不确定的?/font> </p> <p> <font color="#808080" size="2">因ؓ在这里创建的是一个空 string c,</font> </p> <p> <font color="#808080" size="2">长度?Qgؓ""(I??/font> </p> <p> <font color="#808080" size="2">因此不存在str[0]?/font> </p> <img src ="http://m.shnenglu.com/shyli/aggbug/7585.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/shyli/" target="_blank">beyonlin</a> 2006-05-24 18:19 <a href="http://m.shnenglu.com/shyli/archive/2006/05/24/7585.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数组最大长度问?/title><link>http://m.shnenglu.com/shyli/archive/2006/05/06/6692.html</link><dc:creator>beyonlin</dc:creator><author>beyonlin</author><pubDate>Sat, 06 May 2006 15:32:00 GMT</pubDate><guid>http://m.shnenglu.com/shyli/archive/2006/05/06/6692.html</guid><wfw:comment>http://m.shnenglu.com/shyli/comments/6692.html</wfw:comment><comments>http://m.shnenglu.com/shyli/archive/2006/05/06/6692.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://m.shnenglu.com/shyli/comments/commentRss/6692.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/shyli/services/trackbacks/6692.html</trackback:ping><description><![CDATA[ <p> <font color="#808080" size="2">最q遇C一个问题:</font> </p> <p> <font color="#808080" size="2">在函数内定义了一个一百万的数l?/font> </p> <p> <font color="#808080" size="2">~译、连接没问题Q但执行时就会提C堆栈溢出?/font> </p> <p> <font color="#808080" size="2">但定义全局变量却没有问题?/font> </p> <p> <font color="#808080" size="2">谁能l我解释一下ؓ什么?</font> </p> <img src ="http://m.shnenglu.com/shyli/aggbug/6692.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/shyli/" target="_blank">beyonlin</a> 2006-05-06 23:32 <a href="http://m.shnenglu.com/shyli/archive/2006/05/06/6692.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于语句作用?/title><link>http://m.shnenglu.com/shyli/archive/2006/05/03/6583.html</link><dc:creator>beyonlin</dc:creator><author>beyonlin</author><pubDate>Tue, 02 May 2006 17:11:00 GMT</pubDate><guid>http://m.shnenglu.com/shyli/archive/2006/05/03/6583.html</guid><wfw:comment>http://m.shnenglu.com/shyli/comments/6583.html</wfw:comment><comments>http://m.shnenglu.com/shyli/archive/2006/05/03/6583.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://m.shnenglu.com/shyli/comments/commentRss/6583.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/shyli/services/trackbacks/6583.html</trackback:ping><description><![CDATA[ <p> <font color="#808080" size="2">一直以来就有一个问题困惑着我,</font> </p> <p> <font color="#808080" size="2">对于下面一D늨序:</font> </p> <p> <font color="#808080" size="2">#include<iostream><br />using namespace std;<br />int main()<br />{<br />     for(int i=0;i<10;i++)<br />     {/*content*/} <br />  <br />     for(int i=0;i<10;i++)<br />     {/*content*/}   <br /><br />      return 0;<br />} <br /></font> </p> <p> </p> <p> <font color="#808080" size="2">在VC 6.0~译器中是“i?redefinition?/font> </p> <p> <font color="#808080" size="2">而在Dev-C++~译器中是完全正的?/font> </p> <p> <font color="#808080" size="2">我也一直搞不清楚i的作用域是什么?/font> </p> <p> <font color="#808080" size="2">直到看过Primer后才知道有一U作用域叫做“语句作用域”?/font> </p> <p> <font color="#808080" size="2">是说就上述问题的i只能在for语句中用?/font> </p> <p> <font color="#808080" size="2">q就是说q是VC 6.0的一个Bug,真是q样吗?</font> </p> <p> <font color="#808080"> <br /> <font size="2"> </font> </font> </p> <img src ="http://m.shnenglu.com/shyli/aggbug/6583.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/shyli/" target="_blank">beyonlin</a> 2006-05-03 01:11 <a href="http://m.shnenglu.com/shyli/archive/2006/05/03/6583.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>《C++ Primer》终于到货了http://m.shnenglu.com/shyli/archive/2006/04/19/5901.htmlbeyonlinbeyonlinWed, 19 Apr 2006 10:48:00 GMThttp://m.shnenglu.com/shyli/archive/2006/04/19/5901.htmlhttp://m.shnenglu.com/shyli/comments/5901.htmlhttp://m.shnenglu.com/shyli/archive/2006/04/19/5901.html#Feedback0http://m.shnenglu.com/shyli/comments/commentRss/5901.htmlhttp://m.shnenglu.com/shyli/services/trackbacks/5901.html半个学期q去了,《C++ Primer》中文版W四版终于出版了?br />
今天在China-pub的订单终于到货了?br />
现在ȝ有一本C++ 的书c来学习了?br />
在这本书没来之前QC++的学习算中断了半个学期?br />
只是在学PHP?br />
今天又可以恢复学习C++了?br />
怎一个爽字了得?br />



beyonlin 2006-04-19 18:48 发表评论
]]>如何创徏二维数组Q?/title><link>http://m.shnenglu.com/shyli/archive/2006/04/05/5011.html</link><dc:creator>beyonlin</dc:creator><author>beyonlin</author><pubDate>Tue, 04 Apr 2006 17:10:00 GMT</pubDate><guid>http://m.shnenglu.com/shyli/archive/2006/04/05/5011.html</guid><wfw:comment>http://m.shnenglu.com/shyli/comments/5011.html</wfw:comment><comments>http://m.shnenglu.com/shyli/archive/2006/04/05/5011.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://m.shnenglu.com/shyli/comments/commentRss/5011.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/shyli/services/trackbacks/5011.html</trackback:ping><description><![CDATA[ <font color="#808080" size="2">有时需要创建n*n的二l数l?br /><br />于是我就用如下代码:<br />      int ** a=new int * [n];   //或 int *(* a)=new int * [n];   <br />      for(int i=0;i<n;i++)a[i]=new int [n];<br /><br />不知有没有更好的办法?</font> <img src ="http://m.shnenglu.com/shyli/aggbug/5011.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/shyli/" target="_blank">beyonlin</a> 2006-04-05 01:10 <a href="http://m.shnenglu.com/shyli/archive/2006/04/05/5011.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>谨慎字符数组下标界Q?/title><link>http://m.shnenglu.com/shyli/archive/2006/03/28/4669.html</link><dc:creator>beyonlin</dc:creator><author>beyonlin</author><pubDate>Mon, 27 Mar 2006 17:11:00 GMT</pubDate><guid>http://m.shnenglu.com/shyli/archive/2006/03/28/4669.html</guid><wfw:comment>http://m.shnenglu.com/shyli/comments/4669.html</wfw:comment><comments>http://m.shnenglu.com/shyli/archive/2006/03/28/4669.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://m.shnenglu.com/shyli/comments/commentRss/4669.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/shyli/services/trackbacks/4669.html</trackback:ping><description><![CDATA[ <p> <font color="#808080" size="2">今天做ACM是׃没有注意q个问题而W(xu)rong Aswer了几ơ?/font> </p> <p> <font color="#808080" size="2">题目说明要输入的字符串长度最多ؓ8?/font> </p> <p> <font color="#808080" size="2">因此我就只申请了8个字W?/font> </p> <p> <font color="#808080" size="2">l果当然是错了?/font> </p> <p> <font color="#808080" size="2">其实字符数组需要一个存储单元来保存l束W“\0”,</font> </p> <p> <font color="#808080" size="2">用来说明一个字W串l束了?/font> </p> <p> <font color="#808080" size="2">因此要申h字符串多一个存储单元的长度?/font> </p> <p> <font color="#808080" size="2">C了!Q?/font> </p> <p> <font color="#808080" size="2">从此不能犯同样错误!<br /></font> </p> <img src ="http://m.shnenglu.com/shyli/aggbug/4669.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/shyli/" target="_blank">beyonlin</a> 2006-03-28 01:11 <a href="http://m.shnenglu.com/shyli/archive/2006/03/28/4669.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>常引用参C传值参数的区别http://m.shnenglu.com/shyli/archive/2006/03/17/4304.htmlbeyonlinbeyonlinFri, 17 Mar 2006 15:49:00 GMThttp://m.shnenglu.com/shyli/archive/2006/03/17/4304.htmlhttp://m.shnenglu.com/shyli/comments/4304.htmlhttp://m.shnenglu.com/shyli/archive/2006/03/17/4304.html#Feedback1http://m.shnenglu.com/shyli/comments/commentRss/4304.htmlhttp://m.shnenglu.com/shyli/services/trackbacks/4304.html 看过一些书后终于明白这两种参数的内在区别?br />
传值参敎ͼ

在内存中开辟新的内存空_然后把变量值复制到该内存空间来?br />

引用参数Q?br />
直接把变量的地址传过来?br />

引用参数的好处就是不用生(f)时变量,减少内存开销。因此常用于对大对象的操作?br />
而常引用是Z保护对像不被修改?/font>



beyonlin 2006-03-17 23:49 发表评论
]]>
数组下标http://m.shnenglu.com/shyli/archive/2006/03/03/3696.htmlbeyonlinbeyonlinFri, 03 Mar 2006 12:41:00 GMThttp://m.shnenglu.com/shyli/archive/2006/03/03/3696.htmlhttp://m.shnenglu.com/shyli/comments/3696.htmlhttp://m.shnenglu.com/shyli/archive/2006/03/03/3696.html#Feedback1http://m.shnenglu.com/shyli/comments/commentRss/3696.htmlhttp://m.shnenglu.com/shyli/services/trackbacks/3696.html大家都知道数l第一个元素都是以0做ؓ下标的?BR>
不知道这样做有什么优点?

但是有些时候却不习惯?BR>
比如说徏立一?2个元素的数组m[12]来代?2个月?BR>
则m[0]代表W一个月?BR>




beyonlin 2006-03-03 20:41 发表评论
]]>
þ91ᆱƷ2020| ۺϳ˾þôƬ91| ޹Ʒþþò| vaþþþͬ | ŷһþ| 99þ99þþƷƬ| 91Ʒպþò| ҹ91þø| ˮϵþþƷ | XxŷʸƷþþþþ| һһþaþþƷۺ鶹| ݺݺݾþ| ˾þۺϳ| Ʒþþþþ| ޾Ʒþ| ۺϾþþ| þۺϾɫۺϾ99| þúݺݰۺӰԺ | AVպƷþþþþ| þٸ۲AV| þþƷAV鶹վ| ߳þѹۿ| 69þҹɫƷ69| ھƷžžþþƷ| 7777þþùƷ| ˾þô߽Ʒ| Ʒþ| þþþþþ97| þùȾƷҰAV| 99þùۺϾƷŮͬͼƬ| ŷպۺϾþ| ƬҹƬþ| ޾Ʒtvþþþþþþþ| ҹþþþƷӰԺ| Ʒþþþþר| þۺϹapp| 鶹avþavʢav| þҹҹ³³ƬӰ| þۺϾþ| ˾þav| Ļþ2020|