﻿<?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++博客-luqingfei@C++-随笔分类-数据结构与算法</title><link>http://www.cppblog.com/luqingfei/category/9961.html</link><description>&lt;font color='gray'&gt;为中华之崛起而崛起！&lt;/font&gt;&lt;br/&gt;
兼听则明，偏听则暗。
</description><language>zh-cn</language><lastBuildDate>Tue, 22 Feb 2011 06:40:09 GMT</lastBuildDate><pubDate>Tue, 22 Feb 2011 06:40:09 GMT</pubDate><ttl>60</ttl><item><title>数学的魅力：取余运算还可以这样</title><link>http://www.cppblog.com/luqingfei/archive/2011/02/21/140369.html</link><dc:creator>路青飞</dc:creator><author>路青飞</author><pubDate>Mon, 21 Feb 2011 06:08:00 GMT</pubDate><guid>http://www.cppblog.com/luqingfei/archive/2011/02/21/140369.html</guid><wfw:comment>http://www.cppblog.com/luqingfei/comments/140369.html</wfw:comment><comments>http://www.cppblog.com/luqingfei/archive/2011/02/21/140369.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/luqingfei/comments/commentRss/140369.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/luqingfei/services/trackbacks/140369.html</trackback:ping><description><![CDATA[5%2 = =0<br>上面这个取余操作，想必很多人都用到过。<br>5%2的结果只有两种：0和1。<br><br>今天遇到下面这样的需求：<br>实现"四舍六入五单双"的函数或方法<br>有没有一种方法实现,"四舍六入五单双",即,如舍去位数为5时,要看它前面的数是双数还是单数,是双数时舍去,是单数时进位.<br>如:5.38舍入后为5.4<br>5.34舍入后为5.3<br>5.35舍入后为 5.4, 而5.45舍入后为 5.4<br><br>最后用下面的Excel函数公式解决：<br>=ROUND(A3,2)-IF(INT(MOD(A3*1000,20))=5,0.01,0)<br><br>发现下面这样一个小技巧：<br>只有10位上的数字是偶数时，且个位上是5时，这个数字除以20，他的余数才可能是5<br><br><br>感叹，以前取余基本都是对2取，现在思路一下被打开了。<br>这就是数学之美！:-)<br>
<img src ="http://www.cppblog.com/luqingfei/aggbug/140369.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/luqingfei/" target="_blank">路青飞</a> 2011-02-21 14:08 <a href="http://www.cppblog.com/luqingfei/archive/2011/02/21/140369.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C++实现插入排序（升序+降序）</title><link>http://www.cppblog.com/luqingfei/archive/2010/11/24/134527.html</link><dc:creator>路青飞</dc:creator><author>路青飞</author><pubDate>Wed, 24 Nov 2010 08:58:00 GMT</pubDate><guid>http://www.cppblog.com/luqingfei/archive/2010/11/24/134527.html</guid><wfw:comment>http://www.cppblog.com/luqingfei/comments/134527.html</wfw:comment><comments>http://www.cppblog.com/luqingfei/archive/2010/11/24/134527.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/luqingfei/comments/commentRss/134527.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/luqingfei/services/trackbacks/134527.html</trackback:ping><description><![CDATA[<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"><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><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">int</span><span style="COLOR: #000000">&nbsp;arr[]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;{</span><span style="COLOR: #000000">5</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">6</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">};<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;len&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">&nbsp;arr</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">&nbsp;arr[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">];<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">原序列：</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</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">;&nbsp;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">len;&nbsp;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&nbsp;</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">&nbsp;arr[i]&nbsp;</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">&nbsp;endl;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #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">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;&nbsp;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">len;&nbsp;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;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;key&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;arr[i];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;j&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;i</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(j&nbsp;</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">&nbsp;key&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;arr[j])<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arr[j</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;arr[j];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;j</span><span style="COLOR: #000000">--</span><span style="COLOR: #000000">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arr[j</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;key;<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"><br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">升序：</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</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">;&nbsp;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">len;&nbsp;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&nbsp;</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">&nbsp;arr[i]&nbsp;</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">&nbsp;endl;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;<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">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;&nbsp;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">len;&nbsp;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;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;key&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;arr[i];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;j&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;i</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(j&nbsp;</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">&nbsp;key&nbsp;</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;arr[j])<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arr[j</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;arr[j];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;j</span><span style="COLOR: #000000">--</span><span style="COLOR: #000000">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arr[j</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;key;<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"><br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">降序：</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</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">;&nbsp;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">len;&nbsp;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&nbsp;</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">&nbsp;arr[i]&nbsp;</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">&nbsp;endl;<br>}</span></div>
运行结果：<br>原序列：5, 2, 4, 6, 1, 3,<br>升序：1, 2, 3, 4, 5, 6,<br>降序：6, 5, 4, 3, 2, 1,
<img src ="http://www.cppblog.com/luqingfei/aggbug/134527.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/luqingfei/" target="_blank">路青飞</a> 2010-11-24 16:58 <a href="http://www.cppblog.com/luqingfei/archive/2010/11/24/134527.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>javascript实现的插入排序算法</title><link>http://www.cppblog.com/luqingfei/archive/2010/11/24/134517.html</link><dc:creator>路青飞</dc:creator><author>路青飞</author><pubDate>Wed, 24 Nov 2010 07:26:00 GMT</pubDate><guid>http://www.cppblog.com/luqingfei/archive/2010/11/24/134517.html</guid><wfw:comment>http://www.cppblog.com/luqingfei/comments/134517.html</wfw:comment><comments>http://www.cppblog.com/luqingfei/archive/2010/11/24/134517.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/luqingfei/comments/commentRss/134517.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/luqingfei/services/trackbacks/134517.html</trackback:ping><description><![CDATA[<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"><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">script&nbsp;type</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">text/javascript</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">格式化时间</span><span style="COLOR: #008000"><br>/*</span><span style="COLOR: #008000">*<br>&nbsp;*&nbsp;格式化时间&lt;br&nbsp;/&gt;<br>&nbsp;*&nbsp;eg:&nbsp;new&nbsp;Date().format('yyyy-MM-dd&nbsp;HH:mm:ss')//2009-10-19&nbsp;16:21:30<br>&nbsp;</span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br>Date.prototype.format&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">(format)&nbsp;{<br>&nbsp;</span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;o&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;{<br>&nbsp;&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">M+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;:</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.getMonth()&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;month</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">d+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;:</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.getDate(),&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;day</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">H+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;:</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.getHours(),&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;hour</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">m+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;:</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.getMinutes(),&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;minute</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">s+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;:</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.getSeconds(),&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;second</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">q+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;:Math.floor((</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.getMonth()&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">),&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;quarter</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">S</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;:</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.getMilliseconds()<br>&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;millisecond</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;}<br>&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">(y</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">.test(format))<br>&nbsp;&nbsp;format&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;format.replace(RegExp.$</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,&nbsp;(</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.getFullYear()&nbsp;</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;.substr(</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;RegExp.$</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">.length));<br>&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">&nbsp;(&nbsp;</span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;k&nbsp;</span><span style="COLOR: #0000ff">in</span><span style="COLOR: #000000">&nbsp;o)<br>&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;RegExp(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;k&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">).test(format))<br>&nbsp;&nbsp;&nbsp;format&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;format.replace(RegExp.$</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,&nbsp;RegExp.$</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">.length&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">?</span><span style="COLOR: #000000">&nbsp;o[k]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">00</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;o[k]).substr((</span><span style="COLOR: #000000">""</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;o[k]).length));<br>&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;format;<br>}<br><br><br></span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;arr&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Array(</span><span style="COLOR: #000000">5</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">6</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">);<br>document.write(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">插入排序法：</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br>document.write(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;br&nbsp;/&gt;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Date().format('yyyy</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">MM</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">dd&nbsp;HH:mm:ss.S'));<br>document.write(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;br&nbsp;/&gt;排序前：</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;arr.join(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">));<br>document.write(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;br&nbsp;/&gt;排序后：</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;InsertionSort(arr));<br>document.write(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;br&nbsp;/&gt;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Date().format('yyyy</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">MM</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">dd&nbsp;HH:mm:ss.S'));<br><br></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">插入排序法</span><span style="COLOR: #008000"><br></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;InsertionSort(arr)<br>{<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">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;&nbsp;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">arr.length;&nbsp;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;</span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;key&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;arr[i];</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">关键字，从序列的第2个元素开始。</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;j&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;i&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">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;<br>&nbsp;&nbsp;&nbsp;&nbsp;&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;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(j&nbsp;</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">&nbsp;key&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;arr[j])<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arr[j</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;arr[j];</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;j</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;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">经过上一个循环比较后，j当前指的元素是小于关键字的。</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">所以关键字应放置在j+1位置。</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arr[j</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;key;<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;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;arr.join(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</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">}<br><br></span><span style="COLOR: #000000">&lt;/</span><span style="COLOR: #000000">script</span><span style="COLOR: #000000">&gt;</span></div>
<img src ="http://www.cppblog.com/luqingfei/aggbug/134517.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/luqingfei/" target="_blank">路青飞</a> 2010-11-24 15:26 <a href="http://www.cppblog.com/luqingfei/archive/2010/11/24/134517.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]算法方面的好书</title><link>http://www.cppblog.com/luqingfei/archive/2010/11/23/134422.html</link><dc:creator>路青飞</dc:creator><author>路青飞</author><pubDate>Tue, 23 Nov 2010 12:55:00 GMT</pubDate><guid>http://www.cppblog.com/luqingfei/archive/2010/11/23/134422.html</guid><wfw:comment>http://www.cppblog.com/luqingfei/comments/134422.html</wfw:comment><comments>http://www.cppblog.com/luqingfei/archive/2010/11/23/134422.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/luqingfei/comments/commentRss/134422.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/luqingfei/services/trackbacks/134422.html</trackback:ping><description><![CDATA[<p>1.The Art of Computer Programming<br>作者：Donald E. Knuth<br>2.Introduction to Algorithms<br>作者：Thomas H. Cormen，Charles E. Leiserson，Ronald L. Rivest<br>3.算法与数据结构<br>作者：傅清祥 王晓东<br>出版社：电子工业出版社<br>4.国际信息学奥林匹克竞赛指导--实用算法的分析与程序设计<br>作者：吴文虎 王建德<br>出版社：电子工业出版社<br>5.Computer Algorithms: Introduction to Design and Analysis<br>作者：Sara Baase ，Allen Van Gelder<br>出版社：影印版由高等教育出版社出版<br>6.数据结构与算法--面向对象的C++设计模式<br>英文版书名：<br>Data Structures and Algorithms with Object-Oriented Design Patterns in C++<br>作者：Bruno R. Preiss<br>出版社：影印版和中文版由电子工业出版社出版<br>7.数据结构、算法与应用--C++语言描述<br>英文版书名：<br>Data Structure, Algorithms, and Application in C++<br>作者：Sartaj Sahni<br>出版社：影印版和中文版由机械工业出版社出版 </p>
<p>&nbsp;</p>
<img src ="http://www.cppblog.com/luqingfei/aggbug/134422.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/luqingfei/" target="_blank">路青飞</a> 2010-11-23 20:55 <a href="http://www.cppblog.com/luqingfei/archive/2010/11/23/134422.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>『数据结构与算法』基本概念与术语</title><link>http://www.cppblog.com/luqingfei/archive/2009/03/26/77995.html</link><dc:creator>路青飞</dc:creator><author>路青飞</author><pubDate>Thu, 26 Mar 2009 14:31:00 GMT</pubDate><guid>http://www.cppblog.com/luqingfei/archive/2009/03/26/77995.html</guid><wfw:comment>http://www.cppblog.com/luqingfei/comments/77995.html</wfw:comment><comments>http://www.cppblog.com/luqingfei/archive/2009/03/26/77995.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/luqingfei/comments/commentRss/77995.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/luqingfei/services/trackbacks/77995.html</trackback:ping><description><![CDATA[<p dir=ltr>『数据』是计算机化的信息。它是对现实世界的事物采用计算机能够识别、存储和处理方式进行的描述。例如：整数、字符、声音、图像等都是『数据』。<br><br>『数据元素』是数据的基本单位，即数据集合中的个体。有些情况下也把『数据元素』称做结点或记录等。<br><br>『数据项』，一个数据元素可由一个或多个数据项组成，『数据项』是有独立含义的数据最小可使单位。有时也把『数据项』称做域、字段等。例如：学生管理系统中，可以把一个与学生有关的信息作为一个『数据元素』，它由学号、姓名、年龄等『数据项』，组成。<br><br>『数据结构』是相互之间存在一种或多种特定关系的『数据元素』的集合。数据元素之间的相互关系称为结构。<br><br>数据结构包括：逻辑结构和物理结构。<br><br>数据的逻辑结构只抽象地描述数据元素间的逻辑关系，而不管其在计算机中的存储表示方式。<br><br>数据的物理结构是数据的逻辑结构在计算机存储器里的实现。数据的物理结构也称为存储结构。<br><br>数据的逻辑结构分为：线性结构和非线性结构。<br><br>线性结构，各数据元素之间的逻辑关系可以用一个线性序列简单地表示出来，否则称为非线性结构。<br><br>线性结构有线性表、栈和队等。<br><br>非线性结构有树、图等。<br><br>『数据类型』是一个值的集合和定义在该值集上的运算集合的总称。这个概念最早出现在程序语言中，每个程序语言都提供若干数据类型，用于定义变量、常量或表达式可以取值的范围，以及可以施于它们的运算。<br><br>程序语言中的数据类型可以分为两类：<br>一类是原子类型，其值是不可分解的。例如C语言中的整型、实型、字符型等。<br>另一类是结构类型，其值是由若干万分按某种结构组成的，因此是可以分解的，并且它的万分还可以是结构的。例如：数组的值由若干分量组成。<br><br>数据结构与程序语言中的数据类型有关，但两者并非互相对应的。<br>一些最基本的数据结构，例如：记录、数组、字符串等在很多情况下程序语言自身已经提供相应的数据类型实现，即指程序语言本身提供了对这些结构的描述手段和对它们的操作。<br>但还有许多数据结构，在很多程序语言中并没有相应的数据类型，需要采用程序语言中提供的基本数据类型和供程序员构造结构化数据类型方法作为工具实现相应的数据结构。<br><br>抽象数据类型是指一个数学模型及定义在该模型上的一组操作。<br><br>算法是解决某一特定类型问题的有限运算序列。<br>一个算法应该具有下列特性：<br>（1）有究性。一个算法必须是在执行有限步之后结束。<br>（2）确定性。算法的每一步必须是确切地定义的，无二义性。<br>（3）可行性。算法应该是可行的，这意味着算法中描述的运算都是相当基本的，它们都是可以通过已经实现的基本运算执行有限次来实现的。<br>（4）输入。一个算法有0个或多个输入。<br>（5）输出。一个算法有一个或多个输出。<br><br>算法的设计可以避开具体的计算机程序语言，但算法的实现必须借助程序语言中提供的数据类型及其运算。<br>数据结构与算法是相辅相成的，它们是利用计算机解决实际问题时不可缺少的两个方面。<br><br>数据的运算是定义在数据的逻辑结构上的，但运算的具体实现要在存储结构上进行。<br><br>常用的运算有查找、插入、删除、更新和排序等。<br><br>一种数据结构的优劣是由实现其各种运算的算法体现的。<br>对数据结构的分析实质上也就是对实现其各种运算的算法的分析。<br><br>在算法正确的前提下，算法的执行时间和存储量需求是分析和评价一个算法的两个主要方面。<br><br>——复习《数据结构基础——谭洗强》第一章<br>这本书是我02年开始学的，当时学的还算认真，但学的也比较糊涂，现在重新复习一下。巩固一下自己的数据结构与算法的知识。<br><br>接下来，将会找一些比较经典的数据结构，算法来研究分析。<br></p>
<img src ="http://www.cppblog.com/luqingfei/aggbug/77995.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/luqingfei/" target="_blank">路青飞</a> 2009-03-26 22:31 <a href="http://www.cppblog.com/luqingfei/archive/2009/03/26/77995.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>