﻿<?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++博客-DjvuLee</title><link>http://www.cppblog.com/DjvuLee/</link><description>Typing is a habit</description><language>zh-cn</language><lastBuildDate>Tue, 14 Apr 2026 23:10:02 GMT</lastBuildDate><pubDate>Tue, 14 Apr 2026 23:10:02 GMT</pubDate><ttl>60</ttl><item><title>Neo4j学习笔记</title><link>http://www.cppblog.com/DjvuLee/archive/2013/04/17/199523.html</link><dc:creator>DjvuLee</dc:creator><author>DjvuLee</author><pubDate>Wed, 17 Apr 2013 14:00:00 GMT</pubDate><guid>http://www.cppblog.com/DjvuLee/archive/2013/04/17/199523.html</guid><wfw:comment>http://www.cppblog.com/DjvuLee/comments/199523.html</wfw:comment><comments>http://www.cppblog.com/DjvuLee/archive/2013/04/17/199523.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/DjvuLee/comments/commentRss/199523.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/DjvuLee/services/trackbacks/199523.html</trackback:ping><description><![CDATA[<div>Neo4j是干什么的<br>Neo4j is a graph database.<br></div><div>Neo4j的特点</div><div>Neo4j的使用</div><div>&nbsp;&nbsp;&nbsp;&nbsp;1-install</div><div>&nbsp;&nbsp;&nbsp;&nbsp;2-example</div><div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>The Grelin language(Based on the Groovy language)<!--more--><br></strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g:&nbsp;&nbsp; the graph object</div><div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.V :&nbsp; The vertex</div><div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.E :&nbsp; The edges</div><div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; filter()/map()/next()</div><div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addVertex()/addEdge()</div><div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out: outE.inV</div><div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;in ：inE.outV</div><div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class</div><div>&nbsp;</div><div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </div><div>Deeping</div><div><hr></div><div>Install</div><div>①Download</div><div>②Start the neo4j server: <em><font color=#ff0000>bin/neo4j start</font></em></div><div>③check if installed succesfully ： <em><font color=#ff0000>curl </font><a href="http://localhost:7474/db/data"><font color=#ff0000>http://localhost:7474/db/data</font></a></em></div><div>&nbsp;</div><div><hr></div><div>Example:</div><div>①Retrieve all the Vertexs : g.V</div><div>②Retrieve all the Edges&nbsp;&nbsp; : g.E</div><div>③Add a new vertex : g.addVertex({name:'xxx'})</div><div>④Add a new Edge&nbsp;&nbsp; : g.addEdge(node_1, node_2, relation_type)</div><div>⑤To find some specific nodes&nbsp;whose name is xxx&nbsp;: g.V.filter<font color=#ff0000>{</font>it.name="xxx"<font color=#ff0000>}</font></div><div>&nbsp;</div><div>&nbsp;</div><div>&nbsp;</div><div><hr></div><div>How the basic store refer to the graph structure, and how the query dealed?</div><br /><br /><div><a title="来自为知笔记(Wiz)" href="http://www.wiz.cn/i/6ca31358">来自为知笔记(Wiz)</a></div><br /><br /><img src ="http://www.cppblog.com/DjvuLee/aggbug/199523.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/DjvuLee/" target="_blank">DjvuLee</a> 2013-04-17 22:00 <a href="http://www.cppblog.com/DjvuLee/archive/2013/04/17/199523.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Postgresql Study notes</title><link>http://www.cppblog.com/DjvuLee/archive/2013/01/23/197482.html</link><dc:creator>DjvuLee</dc:creator><author>DjvuLee</author><pubDate>Tue, 22 Jan 2013 17:08:00 GMT</pubDate><guid>http://www.cppblog.com/DjvuLee/archive/2013/01/23/197482.html</guid><wfw:comment>http://www.cppblog.com/DjvuLee/comments/197482.html</wfw:comment><comments>http://www.cppblog.com/DjvuLee/archive/2013/01/23/197482.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/DjvuLee/comments/commentRss/197482.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/DjvuLee/services/trackbacks/197482.html</trackback:ping><description><![CDATA[<h3>1-Install and use</h3><div>&nbsp;&nbsp;&nbsp;&nbsp;Peer authention problem: 将配置文件里面的postgre peer改为posgres trust</div><div>&nbsp;</div><h3>2-Postgresql command</h3><ol>  <li>创建用户: createuser&nbsp; myusername/CREATE USER&nbsp;myusername WITH   PASSWORD 'mypassword'<!--more--><br>  <div>  <div>sudo -u postgres createuser myusername</div><!--EndFragment--></div><!--EndFragment--></li>  <li>创建数据库: createdb mydbname<br>  <div>sudo -u postgres createdb testdb -O   myusername</div><!--EndFragment--></li>  <li>操作: psql里面</li></ol><div>&nbsp;</div><h3>3-Postgresql SQL </h3><ol>  <li>  <h4>Basic Knowledge</h4></li></ol><div>&nbsp;&nbsp;&nbsp;&nbsp;1.语句的结束符：";"</div><div>&nbsp;&nbsp;&nbsp;&nbsp;2.注释：--&nbsp;&nbsp;:&nbsp;&nbsp;行注释</div><div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* */： 块注释，和C语言注释不同的是，可以嵌套。</div><div>&nbsp;&nbsp;&nbsp;&nbsp;3.关键字和标识符都是非大小写敏感的，但是惯例是将关键字大写，而其他名字用小写<br>&nbsp;&nbsp;&nbsp;&nbsp;4.在SQL语句标准中，$标志符是不被允许出现在标识符中</div><div>&nbsp;&nbsp;&nbsp;&nbsp;5.字符串常量使用', 要想在字符串常量中带有'，可以通过使用两个连续的'实现。如:'Dianne''s horse'</div><div>&nbsp;&nbsp;&nbsp;&nbsp;6.两个字符串常量当通过空格分开时，如果两者之间至少有一个换行符，则认为它们是相连的。下面两个写法是等价的。</div><blockquote style="MARGIN-RIGHT: 0px" dir=ltr>  <blockquote style="MARGIN-RIGHT: 0px" dir=ltr>    <div><code>    <div     style="BORDER-BOTTOM: black 1px solid; TEXT-ALIGN: left; BORDER-LEFT: black 1px solid; PADDING-BOTTOM: 3px; BACKGROUND-COLOR: window; PADDING-LEFT: 3px; PADDING-RIGHT: 3px; FONT-FAMILY: Courier New; COLOR: black; MARGIN-LEFT: auto; FONT-SIZE: 12px; BORDER-TOP: black 1px solid; MARGIN-RIGHT: auto; BORDER-RIGHT: black 1px solid; PADDING-TOP: 3px"><font     color=#0000ff><b>SELECT</b></font> <font color=#ff00bf>'foo'</font><br><font     color=#ff00bf>'bar'</font> ;</div></code></div><code>    <div     style="BORDER-BOTTOM: black 1px solid; TEXT-ALIGN: left; BORDER-LEFT: black 1px solid; PADDING-BOTTOM: 3px; BACKGROUND-COLOR: window; PADDING-LEFT: 3px; PADDING-RIGHT: 3px; FONT-FAMILY: Courier New; COLOR: black; MARGIN-LEFT: auto; FONT-SIZE: 12px; BORDER-TOP: black 1px solid; MARGIN-RIGHT: auto; BORDER-RIGHT: black 1px solid; PADDING-TOP: 3px"><font     color=#0000ff><b>SELECT</b></font> <font color=#ff00bf>'foobar'</font></div>    <div></code>而如下的写法是错误：<code></div>    <div     style="BORDER-BOTTOM: black 1px solid; TEXT-ALIGN: left; BORDER-LEFT: black 1px solid; PADDING-BOTTOM: 3px; BACKGROUND-COLOR: window; PADDING-LEFT: 3px; PADDING-RIGHT: 3px; FONT-FAMILY: Courier New; COLOR: black; MARGIN-LEFT: auto; FONT-SIZE: 12px; BORDER-TOP: black 1px solid; MARGIN-RIGHT: auto; BORDER-RIGHT: black 1px solid; PADDING-TOP: 3px"><font     color=#0000ff><b>SELECT</b></font> <font     color=#ff00bf>'foo'</font>&nbsp;&nbsp;&nbsp;<font     color=#ff00bf>'bar'</font></code></div>    <div>&nbsp;</div></blockquote></blockquote><h4>&nbsp;&nbsp;2.The Common Data Type</h4><blockquote style="MARGIN-RIGHT: 0px" dir=ltr>  <div>smallint: 16位带符号整数<br>integer: 32位的带符号整数<br>bigint: 64位带符号整数<br>real:   32位浮点数<br>double precision/float8 : 64位浮点数<br>boolean<br>character:   定长字符串<br>text :不定长字符串<br>date:<br>time:</div>  <div>&nbsp;</div></blockquote><h4>&nbsp; 3.CRUD</h4><div>&nbsp;&nbsp;&nbsp;&nbsp;1.定义基本表：</div><div>&nbsp;&nbsp;&nbsp;&nbsp;CREATE TABLE &lt;表名&gt; (&lt;列名&gt; &lt;数据类型&gt; [列级完整性约束条件]</div><div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(&lt;列名&gt; &lt;数据类型&gt; [列级完整性约束条件]...</div><div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[,&lt;表级完整性约束条件&gt;]</div><div>&nbsp;&nbsp;&nbsp;&nbsp;);</div><div>&nbsp;</div><blockquote style="MARGIN-RIGHT: 0px" dir=ltr>  <div><code>  <div   style="BORDER-BOTTOM: black 1px solid; TEXT-ALIGN: left; BORDER-LEFT: black 1px solid; PADDING-BOTTOM: 3px; BACKGROUND-COLOR: window; PADDING-LEFT: 3px; PADDING-RIGHT: 3px; FONT-FAMILY: Courier New; COLOR: black; MARGIN-LEFT: auto; FONT-SIZE: 12px; BORDER-TOP: black 1px solid; MARGIN-RIGHT: auto; BORDER-RIGHT: black 1px solid; PADDING-TOP: 3px"><font   color=#0000ff><b>CREATE</b></font> <font color=#0000ff><b>TABLE</b></font>   Student(<br>Sno <font color=#0000ff><b>Integer</b></font> <font   color=#0000ff><b>PRIMARY</b></font> <font   color=#0000ff><b>KEY</b></font>,<br>Sname <font   color=#0000ff><b>character</b></font> <font   color=#0000ff><b>UNIQUE</b></font>,<br>Sage&nbsp;&nbsp;<font   color=#0000ff><b>smallint</b></font><br>);</div></code></div></blockquote><div>&nbsp;&nbsp;&nbsp;&nbsp;</div><div>&nbsp;&nbsp;&nbsp;&nbsp;2.数据查询</div><div>&nbsp;&nbsp;&nbsp;&nbsp;SELECT [ALL | DISTINCT] &lt;目标列表达式&gt;[, &lt;目标列表达式&gt;]...</div><div>&nbsp;&nbsp;&nbsp;&nbsp;FROM &lt;表名或视图名&gt;[, &lt;表名或视图名&gt;]...</div><div>&nbsp;&nbsp;&nbsp;&nbsp;[WHERE &lt;条件表达式&gt;]</div><div>&nbsp;&nbsp;&nbsp;&nbsp;[GROUP BY &lt;列名1&gt; [HAVING &lt;条件表达式&gt;]]</div><div>&nbsp;&nbsp;&nbsp;&nbsp;[ORDER BY [列名2][ASC | DESC]];</div><div>&nbsp;</div><blockquote style="MARGIN-RIGHT: 0px" dir=ltr>  <div><code>  <div   style="BORDER-BOTTOM: black 1px solid; TEXT-ALIGN: left; BORDER-LEFT: black 1px solid; PADDING-BOTTOM: 3px; BACKGROUND-COLOR: window; PADDING-LEFT: 3px; PADDING-RIGHT: 3px; FONT-FAMILY: Courier New; COLOR: black; MARGIN-LEFT: auto; FONT-SIZE: 12px; BORDER-TOP: black 1px solid; MARGIN-RIGHT: auto; BORDER-RIGHT: black 1px solid; PADDING-TOP: 3px"><font   color=#0000ff><b>SELECT</b></font> Sno, Grade<br><font   color=#0000ff><b>FROM</b></font> SC<br><font color=#0000ff><b>WHERE</b></font>   Cno<font color=#333399>=</font><font color=#ff00bf>'3'</font><br><font   color=#0000ff><b>ORDER</b></font> <font color=#0000ff><b>BY</b></font> Grade   <font color=#0000ff><b>DESC</b></font>;</div></code></div></blockquote><div>&nbsp;</div><div>&nbsp;&nbsp;&nbsp;&nbsp;3.数据插入</div><blockquote style="MARGIN-RIGHT: 0px" dir=ltr>  <div>INSER</div>  <div>INTO &lt;表名&gt; [(&lt;属性列1&gt;[,&lt;属性列2&gt;])...]</div>  <div>VALUES (&lt;常量1&gt;[, &lt;常量2&gt;]...);</div></blockquote><div>&nbsp;</div><blockquote style="MARGIN-RIGHT: 0px" dir=ltr>  <div><code>  <div   style="BORDER-BOTTOM: black 1px solid; TEXT-ALIGN: left; BORDER-LEFT: black 1px solid; PADDING-BOTTOM: 3px; BACKGROUND-COLOR: window; PADDING-LEFT: 3px; PADDING-RIGHT: 3px; FONT-FAMILY: Courier New; COLOR: black; MARGIN-LEFT: auto; FONT-SIZE: 12px; BORDER-TOP: black 1px solid; MARGIN-RIGHT: auto; BORDER-RIGHT: black 1px solid; PADDING-TOP: 3px"><font   color=#0000ff><b>INSERT</b></font><br><font color=#0000ff><b>INTO</b></font>   Student(Sno, Sname, Sage)<br><font color=#0000ff><b>VALUES</b></font> (<font   color=#ff00bf>'XXX'</font>, <font color=#ff00bf>'YY'</font>, <font   color=#ff00bf>'ZZ'</font>)</div></code></div></blockquote><blockquote style="MARGIN-RIGHT: 0px" dir=ltr>  <div>  <div>&nbsp;</div>  <div>INSER</div>  <div>INTO &lt;表名&gt; [(&lt;属性列1&gt;[,&lt;属性列2&gt;])...]</div>  <div>子查询；</div></div></blockquote><div>&nbsp;</div><blockquote style="MARGIN-RIGHT: 0px" dir=ltr>  <div><code>  <div   style="BORDER-BOTTOM: black 1px solid; TEXT-ALIGN: left; BORDER-LEFT: black 1px solid; PADDING-BOTTOM: 3px; BACKGROUND-COLOR: window; PADDING-LEFT: 3px; PADDING-RIGHT: 3px; FONT-FAMILY: Courier New; COLOR: black; MARGIN-LEFT: auto; FONT-SIZE: 12px; BORDER-TOP: black 1px solid; MARGIN-RIGHT: auto; BORDER-RIGHT: black 1px solid; PADDING-TOP: 3px"><font   color=#0000ff><b>INSERT</b></font><br><font color=#0000ff><b>INTO</b></font>   Dept_age(Sdept, Avg_age)<br><font color=#0000ff><b>SELECT</b></font> Sdept,   <font color=#0000ff><b>AVG</b></font>(Sage)<br><font   color=#0000ff><b>FROM</b></font> Student<br><font   color=#0000ff><b>GROUP</b></font> <font color=#0000ff><b>BY</b></font>   Sdept;</div></code></div></blockquote><div>&nbsp;</div><div>&nbsp;</div><blockquote style="MARGIN-RIGHT: 0px" dir=ltr>  <div>4.数据更新</div>  <div>UPDATE &lt;表名&gt;</div>  <div>SET &lt;列名&gt;=&lt;表达式&gt;[,&lt;列名&gt;=&lt;表达式&gt;]...</div>  <div>[WHERE &lt;条件&gt;];</div>  <div>&nbsp;</div>  <div><code>  <div   style="BORDER-BOTTOM: black 1px solid; TEXT-ALIGN: left; BORDER-LEFT: black 1px solid; PADDING-BOTTOM: 3px; BACKGROUND-COLOR: window; PADDING-LEFT: 3px; PADDING-RIGHT: 3px; FONT-FAMILY: Courier New; COLOR: black; MARGIN-LEFT: auto; FONT-SIZE: 12px; BORDER-TOP: black 1px solid; MARGIN-RIGHT: auto; BORDER-RIGHT: black 1px solid; PADDING-TOP: 3px"><font   color=#0000ff><b>UPDATE</b></font> Student<br><font   color=#0000ff><b>SET</b></font> Sage<font color=#333399>=</font><font   color=#6e00aa>22</font><br><font color=#0000ff><b>WHERE</b></font> Sno<font   color=#333399>=</font><font   color=#ff00bf>'2012211494'</font>;</div></code></div>  <div>&nbsp;</div>  <div>5.数据删除</div>  <div>DELETE</div>  <div>FROM &lt;表名&gt;</div>  <div>[WHERE &lt;条件&gt;];</div>  <div>&nbsp;</div>  <div><code>  <div   style="BORDER-BOTTOM: black 1px solid; TEXT-ALIGN: left; BORDER-LEFT: black 1px solid; PADDING-BOTTOM: 3px; BACKGROUND-COLOR: window; PADDING-LEFT: 3px; PADDING-RIGHT: 3px; FONT-FAMILY: Courier New; COLOR: black; MARGIN-LEFT: auto; FONT-SIZE: 12px; BORDER-TOP: black 1px solid; MARGIN-RIGHT: auto; BORDER-RIGHT: black 1px solid; PADDING-TOP: 3px"><font   color=#0000ff><b>DELETE</b></font>&nbsp;<br><font   color=#0000ff><b>FROM</b></font> Student<br><font   color=#0000ff><b>WHERE</b></font> Sno<font color=#333399>=</font><font   color=#ff00bf>'xxxx'</font>;</code></div></div>  <div><code>  <div   style="BORDER-BOTTOM: black 1px solid; TEXT-ALIGN: left; BORDER-LEFT: black 1px solid; PADDING-BOTTOM: 3px; BACKGROUND-COLOR: window; PADDING-LEFT: 3px; PADDING-RIGHT: 3px; FONT-FAMILY: Courier New; COLOR: black; MARGIN-LEFT: auto; FONT-SIZE: 12px; BORDER-TOP: black 1px solid; MARGIN-RIGHT: auto; BORDER-RIGHT: black 1px solid; PADDING-TOP: 3px"><font   color=#0000ff><b>DELETE</b></font>&nbsp;<br><font   color=#0000ff><b>FROM</b></font> SC<br><font color=#0000ff><b>WHERE</b></font>   <font color=#ff00bf>'CS'</font> <font color=#333399>=</font>   (<br>&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000ff><b>SELECT</b></font>   Sdept<br>&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000ff><b>FROM</b></font>   Student<br>&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000ff><b>WHERE</b></font>   Student.Sno<font color=#333399>=</font>SC.Sno)</div></code></div></blockquote><div>&nbsp;</div><div>&nbsp; </div><div>4-Postgresql整体架构</div><div>&nbsp; <img src="http://www.cppblog.com/images/cppblog_com/DjvuLee/29e2e8510fb11b19883f1b3708c0f82c_0_1310912145Ytrl[1].jpg"></div><div>&nbsp; <img src="http://www.cppblog.com/images/cppblog_com/DjvuLee/29e2e8510fb11b19883f1b3708c0f82c_0_1310912231O4Yc[1].jpg"></div><div>&nbsp;</div><div>&nbsp;</div><div>&nbsp;</div><div>&nbsp;</div><div>&nbsp;</div><div>&nbsp;</div><div>&nbsp;</div><div>&nbsp;</div><div>&nbsp;</div><br /><br /><div><a title="来自为知笔记(Wiz)" href="http://www.wiz.cn/i/6ca31358">来自为知笔记(Wiz)</a></div><br /><br /><img src ="http://www.cppblog.com/DjvuLee/aggbug/197482.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/DjvuLee/" target="_blank">DjvuLee</a> 2013-01-23 01:08 <a href="http://www.cppblog.com/DjvuLee/archive/2013/01/23/197482.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Matplotlib 笔记1</title><link>http://www.cppblog.com/DjvuLee/archive/2013/01/22/197462.html</link><dc:creator>DjvuLee</dc:creator><author>DjvuLee</author><pubDate>Tue, 22 Jan 2013 03:09:00 GMT</pubDate><guid>http://www.cppblog.com/DjvuLee/archive/2013/01/22/197462.html</guid><wfw:comment>http://www.cppblog.com/DjvuLee/comments/197462.html</wfw:comment><comments>http://www.cppblog.com/DjvuLee/archive/2013/01/22/197462.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/DjvuLee/comments/commentRss/197462.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/DjvuLee/services/trackbacks/197462.html</trackback:ping><description><![CDATA[<h3>1-在linux下安装出现的问题</h3><ol>  <li>需要freetype, libpng等dev库，需要先安装</li>  <li>如果没有安装PyQt4, wxPython等库，则plt.show()就没法正确的显示结果：</li>  <ol>    <li>选择熟悉的PyQt4：<code>    <div>sudo pip install python<font     color=#333399>-</font>PyQt4</div></code></li>    <li>将/usr/local/lib/python2.7/dist-packages/matplotlib/mpl-data/matplotlibrc     中带backend改为Qt4Agg</li></ol></ol><h3>&nbsp;</h3><h3>2-matplot完整例子&nbsp; </h3><code><!--more--><div style="BORDER-BOTTOM: black 1px solid; TEXT-ALIGN: left; BORDER-LEFT: black 1px solid; PADDING-BOTTOM: 3px; BACKGROUND-COLOR: window; PADDING-LEFT: 3px; PADDING-RIGHT: 3px; FONT-FAMILY: Courier New; COLOR: black; MARGIN-LEFT: auto; FONT-SIZE: 12px; BORDER-TOP: black 1px solid; MARGIN-RIGHT: auto; BORDER-RIGHT: black 1px solid; PADDING-TOP: 3px"><font color=#0000ff><b>import</b></font> matplotlib.pyplot as plt&nbsp;<br><font color=#0000ff><b>import</b></font> numpy as np&nbsp;<br>x <font color=#333399>=</font> np.arange(<font color=#6e00aa>1</font>, <font color=#6e00aa>5</font>)&nbsp;<br>plt.plot(x, x<font color=#333399>*</font><font color=#6e00aa>1</font>.<font color=#6e00aa>5</font>, label<font color=#333399>=</font><font color=#ff00bf>'Normal'</font>)&nbsp;<br>plt.plot(x, x<font color=#333399>*</font><font color=#6e00aa>3</font>.<font color=#6e00aa>0</font>, label<font color=#333399>=</font><font color=#ff00bf>'Fast'</font>)&nbsp;<br>plt.plot(x, x<font color=#333399>/</font><font color=#6e00aa>3</font>.<font color=#6e00aa>0</font>, label<font color=#333399>=</font><font color=#ff00bf>'Slow'</font>)&nbsp;<br>plt.grid(<font color=#0000ff><b>True</b></font>)&nbsp;<br>plt.title(<font color=#ff00bf>'Sample Growth of a Measure'</font>)&nbsp;<br>plt.xlabel(<font color=#ff00bf>'Samples'</font>)&nbsp;<br>plt.ylabel(<font color=#ff00bf>'Values Measured'</font>)&nbsp;&nbsp;<br>plt.legend(loc<font color=#333399>=</font><font color=#ff00bf>'upper left'</font>)&nbsp;<br>plt.show()</div><div>结果：</div><div><img border=0 src="http://www.cppblog.com/images/cppblog_com/DjvuLee/a9e12f5fd17efe36027f0cb02999a467_12168873.png">&nbsp;</img></div><div>&nbsp;</div></code><h3>3-修改color, linestyle, maker等选项</h3><code><div>&nbsp; color表：</div><div>&nbsp; <img border=0 src="http://www.cppblog.com/images/cppblog_com/DjvuLee/a9e12f5fd17efe36027f0cb02999a467_12247482.png"> </img></div><div> </div><div>&nbsp; linestyle表：</div><div>&nbsp; <img border=0 src="http://www.cppblog.com/images/cppblog_com/DjvuLee/a9e12f5fd17efe36027f0cb02999a467_12270305.png"> </img></div><div> </div><div>&nbsp; maker表：</div><div>&nbsp; <img border=0 src="http://www.cppblog.com/images/cppblog_com/DjvuLee/a9e12f5fd17efe36027f0cb02999a467_12317433.png"> </img></div><div>&nbsp;&nbsp;<img border=0 src="http://www.cppblog.com/images/cppblog_com/DjvuLee/a9e12f5fd17efe36027f0cb02999a467_12342830.png"> </img></div><div> </div></code><h3>4-修改样式的key argument</h3><code><div>&nbsp; <img border=0 src="http://www.cppblog.com/images/cppblog_com/DjvuLee/a9e12f5fd17efe36027f0cb02999a467_12386385.png"> </code></div><h3>5-使用样式的例子&nbsp; </h3><code><div><div><code><div style="BORDER-BOTTOM: black 1px solid; TEXT-ALIGN: left; BORDER-LEFT: black 1px solid; PADDING-BOTTOM: 3px; BACKGROUND-COLOR: window; PADDING-LEFT: 3px; PADDING-RIGHT: 3px; FONT-FAMILY: Courier New; COLOR: black; MARGIN-LEFT: auto; FONT-SIZE: 12px; BORDER-TOP: black 1px solid; MARGIN-RIGHT: auto; BORDER-RIGHT: black 1px solid; PADDING-TOP: 3px"><font color=#0000ff><b>import</b></font> matplotlib.pyplot as plt&nbsp;<br><font color=#0000ff><b>import</b></font> numpy as np&nbsp;<br>y <font color=#333399>=</font> np.arange(<font color=#6e00aa>1</font>, <font color=#6e00aa>3</font>, <font color=#6e00aa>0</font>.<font color=#6e00aa>3</font>)&nbsp;<br>plt.plot(y, color<font color=#333399>=</font><font color=#ff00bf>'blue'</font>, linestyle<font color=#333399>=</font><font color=#ff00bf>'dashdot'</font>, linewidth<font color=#333399>=</font><font color=#6e00aa>4</font>,&nbsp;<br>marker<font color=#333399>=</font><font color=#ff00bf>'o'</font>, markerfacecolor<font color=#333399>=</font><font color=#ff00bf>'red'</font>, markeredgecolor<font color=#333399>=</font><font color=#ff00bf>'black'</font>,&nbsp;<br>markeredgewidth<font color=#333399>=</font><font color=#6e00aa>3</font>, markersize<font color=#333399>=</font><font color=#6e00aa>12</font>);<br>plt.show()</div></code></div></div><div>&nbsp;</div></code><h3>6-Plot types</h3><code><div><img style="WIDTH: 712px; HEIGHT: 523px" border=0 hspace=0 alt="" align=absMiddle src="http://www.cppblog.com/images/cppblog_com/DjvuLee/a9e12f5fd17efe36027f0cb02999a467_12702787.png">&nbsp;</img></div><div>&nbsp;</div><div>&nbsp;</div><div>&nbsp;</div><div>&nbsp;</div><div></code>&nbsp;</div><br /><br /><div><a title="来自为知笔记(Wiz)" href="http://www.wiz.cn/i/6ca31358">来自为知笔记(Wiz)</a></div><br /><br /><img src ="http://www.cppblog.com/DjvuLee/aggbug/197462.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/DjvuLee/" target="_blank">DjvuLee</a> 2013-01-22 11:09 <a href="http://www.cppblog.com/DjvuLee/archive/2013/01/22/197462.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>python 获取天气【转载】</title><link>http://www.cppblog.com/DjvuLee/archive/2012/04/18/171903.html</link><dc:creator>DjvuLee</dc:creator><author>DjvuLee</author><pubDate>Wed, 18 Apr 2012 13:24:00 GMT</pubDate><guid>http://www.cppblog.com/DjvuLee/archive/2012/04/18/171903.html</guid><wfw:comment>http://www.cppblog.com/DjvuLee/comments/171903.html</wfw:comment><comments>http://www.cppblog.com/DjvuLee/archive/2012/04/18/171903.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/DjvuLee/comments/commentRss/171903.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/DjvuLee/services/trackbacks/171903.html</trackback:ping><description><![CDATA[本文转自：<a href="http://dango-akachan.appspot.com/?p=98001">http://dango-akachan.appspot.com/?p=98001&nbsp;<br /></a>写下代码，以便自己查阅：<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">import</span>&nbsp;urllib2<br />import os<br /><span style="color: #0000FF; ">from</span>&nbsp;xml.dom.minidom&nbsp;<span style="color: #0000FF; ">import</span>&nbsp;parseString<br /><br />url=<span style="color: #800000; ">"</span><span style="color: #800000; ">http://www.webxml.com.cn/webservices/weatherwebservice.asmx/getWeatherbyCityName?theCityName=北京</span><span style="color: #800000; ">"</span><br /><span style="color: #008000; ">#</span><span style="color: #008000; ">url="http://www.webxml.com.cn/webservices/weatherwebservice.asmx/getSupportProvince?"</span><span style="color: #008000; "><br /></span>request&nbsp;=&nbsp;urllib2.Request(url)<br />response&nbsp;=urllib2.urlopen(request)<br /><br /><span style="color: #008000; ">#</span><span style="color: #008000; ">print&nbsp;response.geturl().decode('utf-8').encode('gbk')</span><span style="color: #008000; "><br /></span>xmlstring&nbsp;=&nbsp;response.read()<br /><span style="color: #008000; ">#</span><span style="color: #008000; ">print&nbsp;xmlstring&nbsp;#查看xml</span><span style="color: #008000; "><br /></span>dom&nbsp;=&nbsp;parseString(xmlstring)<br /><br />strings&nbsp;=&nbsp;dom.getElementsByTagName(<span style="color: #800000; ">"</span><span style="color: #800000; ">string</span><span style="color: #800000; ">"</span>)<br />&nbsp;<br /><span style="color: #0000FF; ">def</span>&nbsp;getText(nodelist):<br />&nbsp;&nbsp;&nbsp;&nbsp;rc&nbsp;=&nbsp;<span style="color: #800000; ">""</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;node&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;nodelist:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;node.nodeType&nbsp;==&nbsp;node.TEXT_NODE:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rc&nbsp;=&nbsp;rc&nbsp;+&nbsp;node.data<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;rc<br />&nbsp;<br /><span style="color: #008000; ">#</span><span style="color: #008000; ">今天的温度和天气</span><span style="color: #008000; "><br /></span>today_temperature=getText(strings[5].childNodes)<br />today_weather=getText(strings[6].childNodes)<br />&nbsp;<br /><span style="color: #008000; ">#</span><span style="color: #008000; ">明天的温度和天气</span><span style="color: #008000; "><br /></span>tomorrow_weather=getText(strings[13].childNodes)<br />tomorrow_temperature=getText(strings[12].childNodes)<br />&nbsp;<br /><span style="color: #008000; ">#</span><span style="color: #008000; ">省份城市</span><span style="color: #008000; "><br /></span>province&nbsp;=&nbsp;getText(strings[0].childNodes)<br />city&nbsp;=&nbsp;getText(strings[1].childNodes)<br />weather=today_weather+<span style="color: #800000; ">"</span><span style="color: #800000; ">&nbsp;</span><span style="color: #800000; ">"</span>&nbsp;+today_temperature+<span style="color: #800000; ">"</span><span style="color: #800000; ">\n</span><span style="color: #800000; ">"</span>&nbsp;+tomorrow_weather+<span style="color: #800000; ">"</span><span style="color: #800000; ">&nbsp;</span><span style="color: #800000; ">"</span>+tomorrow_temperature<br /><span style="color: #0000FF; ">print</span>&nbsp;province,&nbsp;city<br /><span style="color: #0000FF; ">print</span>&nbsp;weather<br />os.system("pause")<br /><br />#加上最后一个暂停，放在桌面上，用这个脚本查询天气足以。</div><div class="vimiumReset vimiumHUD" style="right: 150px; opacity: 0; display: none; "></div> <div class="vimiumReset vimiumHUD" style="right: 150px; opacity: 0; display: none; "></div><img src ="http://www.cppblog.com/DjvuLee/aggbug/171903.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/DjvuLee/" target="_blank">DjvuLee</a> 2012-04-18 21:24 <a href="http://www.cppblog.com/DjvuLee/archive/2012/04/18/171903.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>最大序列和[1077@Jobdo]</title><link>http://www.cppblog.com/DjvuLee/archive/2012/03/07/167324.html</link><dc:creator>DjvuLee</dc:creator><author>DjvuLee</author><pubDate>Wed, 07 Mar 2012 08:34:00 GMT</pubDate><guid>http://www.cppblog.com/DjvuLee/archive/2012/03/07/167324.html</guid><wfw:comment>http://www.cppblog.com/DjvuLee/comments/167324.html</wfw:comment><comments>http://www.cppblog.com/DjvuLee/archive/2012/03/07/167324.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/DjvuLee/comments/commentRss/167324.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/DjvuLee/services/trackbacks/167324.html</trackback:ping><description><![CDATA[<div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000; ">//</span><span style="color: #008000; ">@Jobdo&nbsp;清华06&nbsp;典型的DY问题<br /></span><span style="color: #008000; ">//</span><span style="color: #008000; ">本题的时间复杂度为O(n).空间复杂度为O(1).</span><span style="color: #008000; "><br /></span>#include&lt;stdio.h&gt;<br />#include&lt;algorithm&gt;<br /><span style="color: #0000FF; ">using</span>&nbsp;<span style="color: #0000FF; ">namespace</span>&nbsp;std;<br /><br />typedef&nbsp;<span style="color: #0000FF; ">long</span>&nbsp;<span style="color: #0000FF; ">long</span>&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;T;<br />T&nbsp;s[2];<br /><br /><span style="color: #0000FF; ">int</span>&nbsp;main()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;n;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>(~scanf("%d",&amp;n)){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">bool</span>&nbsp;first=<span style="color: #0000FF; ">true</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;T&nbsp;&nbsp;&nbsp;&nbsp;myMax,&nbsp;tp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;i=1;i&lt;=n;i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scanf("%lld",&amp;tp);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(first){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;myMax=s[1]=tp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;first=<span style="color: #0000FF; ">false</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">else</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s[1]=&nbsp;s[0]&gt;0&nbsp;?&nbsp;s[0]+tp&nbsp;:&nbsp;tp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(myMax&lt;max(s[1],s[0]))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;myMax=max(s[1],s[0]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s[0]=s[1];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("%lld\n",myMax);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<span style="color: #008000; ">//</span><span style="color: #008000; ">end&nbsp;while</span><span style="color: #008000; "><br /></span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;0;<br />}</div> <div class="vimiumReset vimiumHUD" style="right: 150px; opacity: 0; display: none; "></div><img src ="http://www.cppblog.com/DjvuLee/aggbug/167324.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/DjvuLee/" target="_blank">DjvuLee</a> 2012-03-07 16:34 <a href="http://www.cppblog.com/DjvuLee/archive/2012/03/07/167324.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Bign类</title><link>http://www.cppblog.com/DjvuLee/archive/2012/03/05/167170.html</link><dc:creator>DjvuLee</dc:creator><author>DjvuLee</author><pubDate>Mon, 05 Mar 2012 06:50:00 GMT</pubDate><guid>http://www.cppblog.com/DjvuLee/archive/2012/03/05/167170.html</guid><wfw:comment>http://www.cppblog.com/DjvuLee/comments/167170.html</wfw:comment><comments>http://www.cppblog.com/DjvuLee/archive/2012/03/05/167170.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/DjvuLee/comments/commentRss/167170.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/DjvuLee/services/trackbacks/167170.html</trackback:ping><description><![CDATA[一个很方便处理的大数类，摘自刘汝佳的文章，以备日后用。<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000; ">//</span><span style="color: #008000; ">一个完整的支持大数计算的类型<br /></span><span style="color: #008000; ">//</span><span style="color: #008000; ">仅不支持除法</span><span style="color: #008000; "><br /></span>#include&lt;cstdio&gt;<br />#include&lt;iostream&gt;<br />#include&lt;<span style="color: #0000FF; ">string</span>&gt;<br />#include&lt;cstring&gt;<br /><span style="color: #0000FF; ">using</span>&nbsp;<span style="color: #0000FF; ">namespace</span>&nbsp;std;<br /><br /><span style="color: #0000FF; ">const</span>&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;maxn&nbsp;=&nbsp;500;<br /><span style="color: #0000FF; ">struct</span>&nbsp;bign{<br />&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;len,&nbsp;s[maxn];<br /><br />&nbsp;&nbsp;bign()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;memset(s,&nbsp;0,&nbsp;<span style="color: #0000FF; ">sizeof</span>(s));<br />&nbsp;&nbsp;&nbsp;&nbsp;len&nbsp;=&nbsp;1;<br />&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;bign(<span style="color: #0000FF; ">int</span>&nbsp;num)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;*<span style="color: #0000FF; ">this</span>&nbsp;=&nbsp;num;<br />&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;bign(<span style="color: #0000FF; ">const</span>&nbsp;<span style="color: #0000FF; ">char</span>*&nbsp;num)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;*<span style="color: #0000FF; ">this</span>&nbsp;=&nbsp;num;<br />&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;bign&nbsp;<span style="color: #0000FF; ">operator</span>&nbsp;=&nbsp;(<span style="color: #0000FF; ">int</span>&nbsp;num)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">char</span>&nbsp;s[maxn];<br />&nbsp;&nbsp;&nbsp;&nbsp;sprintf(s,&nbsp;"%d",&nbsp;num);<br />&nbsp;&nbsp;&nbsp;&nbsp;*<span style="color: #0000FF; ">this</span>&nbsp;=&nbsp;s;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;*<span style="color: #0000FF; ">this</span>;<br />&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;bign&nbsp;<span style="color: #0000FF; ">operator</span>&nbsp;=&nbsp;(<span style="color: #0000FF; ">const</span>&nbsp;<span style="color: #0000FF; ">char</span>*&nbsp;num)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;len&nbsp;=&nbsp;strlen(num);<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;len;&nbsp;i++)&nbsp;s[i]&nbsp;=&nbsp;num[len-i-1]&nbsp;-&nbsp;'0';<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;*<span style="color: #0000FF; ">this</span>;<br />&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;<span style="color: #0000FF; ">string</span>&nbsp;str()&nbsp;<span style="color: #0000FF; ">const</span>&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">string</span>&nbsp;res&nbsp;=&nbsp;"";<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;len;&nbsp;i++)&nbsp;res&nbsp;=&nbsp;(<span style="color: #0000FF; ">char</span>)(s[i]&nbsp;+&nbsp;'0')&nbsp;+&nbsp;res;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(res&nbsp;==&nbsp;"")&nbsp;res&nbsp;=&nbsp;"0";<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;res;<br />&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;bign&nbsp;<span style="color: #0000FF; ">operator</span>&nbsp;+&nbsp;(<span style="color: #0000FF; ">const</span>&nbsp;bign&amp;&nbsp;b)&nbsp;<span style="color: #0000FF; ">const</span>{<br />&nbsp;&nbsp;&nbsp;&nbsp;bign&nbsp;c;<br />&nbsp;&nbsp;&nbsp;&nbsp;c.len&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;i&nbsp;=&nbsp;0,&nbsp;g&nbsp;=&nbsp;0;&nbsp;g&nbsp;||&nbsp;i&nbsp;&lt;&nbsp;max(len,&nbsp;b.len);&nbsp;i++)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;x&nbsp;=&nbsp;g;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(i&nbsp;&lt;&nbsp;len)&nbsp;x&nbsp;+=&nbsp;s[i];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(i&nbsp;&lt;&nbsp;b.len)&nbsp;x&nbsp;+=&nbsp;b.s[i];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.s[c.len++]&nbsp;=&nbsp;x&nbsp;%&nbsp;10;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g&nbsp;=&nbsp;x&nbsp;/&nbsp;10;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;c;<br />&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;<span style="color: #0000FF; ">void</span>&nbsp;clean()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>(len&nbsp;&gt;&nbsp;1&nbsp;&amp;&amp;&nbsp;!s[len-1])&nbsp;len--;<br />&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;bign&nbsp;<span style="color: #0000FF; ">operator</span>&nbsp;*&nbsp;(<span style="color: #0000FF; ">const</span>&nbsp;bign&amp;&nbsp;b)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;bign&nbsp;c;&nbsp;c.len&nbsp;=&nbsp;len&nbsp;+&nbsp;b.len;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;len;&nbsp;i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;j&nbsp;=&nbsp;0;&nbsp;j&nbsp;&lt;&nbsp;b.len;&nbsp;j++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.s[i+j]&nbsp;+=&nbsp;s[i]&nbsp;*&nbsp;b.s[j];<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;c.len-1;&nbsp;i++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.s[i+1]&nbsp;+=&nbsp;c.s[i]&nbsp;/&nbsp;10;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.s[i]&nbsp;%=&nbsp;10;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;c.clean();<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;c;<br />&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;bign&nbsp;<span style="color: #0000FF; ">operator</span>&nbsp;-&nbsp;(<span style="color: #0000FF; ">const</span>&nbsp;bign&amp;&nbsp;b)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;bign&nbsp;c;&nbsp;c.len&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;i&nbsp;=&nbsp;0,&nbsp;g&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;len;&nbsp;i++)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;x&nbsp;=&nbsp;s[i]&nbsp;-&nbsp;g;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(i&nbsp;&lt;&nbsp;b.len)&nbsp;x&nbsp;-=&nbsp;b.s[i];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(x&nbsp;&gt;=&nbsp;0)&nbsp;g&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">else</span>&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g&nbsp;=&nbsp;1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x&nbsp;+=&nbsp;10;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.s[c.len++]&nbsp;=&nbsp;x;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;c.clean();<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;c;<br />&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;<span style="color: #0000FF; ">bool</span>&nbsp;<span style="color: #0000FF; ">operator</span>&nbsp;&lt;&nbsp;(<span style="color: #0000FF; ">const</span>&nbsp;bign&amp;&nbsp;b)&nbsp;<span style="color: #0000FF; ">const</span>{<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(len&nbsp;!=&nbsp;b.len)&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;len&nbsp;&lt;&nbsp;b.len;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;i&nbsp;=&nbsp;len-1;&nbsp;i&nbsp;&gt;=&nbsp;0;&nbsp;i--)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(s[i]&nbsp;!=&nbsp;b.s[i])&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;s[i]&nbsp;&lt;&nbsp;b.s[i];<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;<span style="color: #0000FF; ">false</span>;<br />&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;<span style="color: #0000FF; ">bool</span>&nbsp;<span style="color: #0000FF; ">operator</span>&nbsp;&gt;&nbsp;(<span style="color: #0000FF; ">const</span>&nbsp;bign&amp;&nbsp;b)&nbsp;<span style="color: #0000FF; ">const</span>{<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;b&nbsp;&lt;&nbsp;*<span style="color: #0000FF; ">this</span>;<br />&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;<span style="color: #0000FF; ">bool</span>&nbsp;<span style="color: #0000FF; ">operator</span>&nbsp;&lt;=&nbsp;(<span style="color: #0000FF; ">const</span>&nbsp;bign&amp;&nbsp;b)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;!(b&nbsp;&gt;&nbsp;*<span style="color: #0000FF; ">this</span>);<br />&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;<span style="color: #0000FF; ">bool</span>&nbsp;<span style="color: #0000FF; ">operator</span>&nbsp;==&nbsp;(<span style="color: #0000FF; ">const</span>&nbsp;bign&amp;&nbsp;b)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;!(b&nbsp;&lt;&nbsp;*<span style="color: #0000FF; ">this</span>)&nbsp;&amp;&amp;&nbsp;!(*<span style="color: #0000FF; ">this</span>&nbsp;&lt;&nbsp;b);<br />&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;bign&nbsp;<span style="color: #0000FF; ">operator</span>&nbsp;+=&nbsp;(<span style="color: #0000FF; ">const</span>&nbsp;bign&amp;&nbsp;b)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;*<span style="color: #0000FF; ">this</span>&nbsp;=&nbsp;*<span style="color: #0000FF; ">this</span>&nbsp;+&nbsp;b;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;*<span style="color: #0000FF; ">this</span>;<br />&nbsp;&nbsp;}<br />};<br /><br />istream&amp;&nbsp;<span style="color: #0000FF; ">operator</span>&nbsp;&gt;&gt;&nbsp;(istream&nbsp;&amp;<span style="color: #0000FF; ">in</span>,&nbsp;bign&amp;&nbsp;x)&nbsp;{<br />&nbsp;&nbsp;<span style="color: #0000FF; ">string</span>&nbsp;s;<br />&nbsp;&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;&gt;&gt;&nbsp;s;<br />&nbsp;&nbsp;x&nbsp;=&nbsp;s.c_str();<br />&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;<span style="color: #0000FF; ">in</span>;<br />}<br /><br />ostream&amp;&nbsp;<span style="color: #0000FF; ">operator</span>&nbsp;&lt;&lt;&nbsp;(ostream&nbsp;&amp;<span style="color: #0000FF; ">out</span>,&nbsp;<span style="color: #0000FF; ">const</span>&nbsp;bign&amp;&nbsp;x)&nbsp;{<br />&nbsp;&nbsp;<span style="color: #0000FF; ">out</span>&nbsp;&lt;&lt;&nbsp;x.str();<br />&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;<span style="color: #0000FF; ">out</span>;<br />}<br /><br /><span style="color: #0000FF; ">int</span>&nbsp;main()&nbsp;{<br />&nbsp;&nbsp;bign&nbsp;a;<br />&nbsp;&nbsp;cin&nbsp;&gt;&gt;&nbsp;a;<br />&nbsp;&nbsp;a&nbsp;+=&nbsp;"123456789123456789000000000";<br />&nbsp;&nbsp;cout&nbsp;&lt;&lt;&nbsp;a*2&nbsp;&lt;&lt;&nbsp;endl;<br />&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;0;<br />}</div><div class="vimiumReset vimiumHUD" style="right: 150px; opacity: 0; display: none; "></div><img src ="http://www.cppblog.com/DjvuLee/aggbug/167170.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/DjvuLee/" target="_blank">DjvuLee</a> 2012-03-05 14:50 <a href="http://www.cppblog.com/DjvuLee/archive/2012/03/05/167170.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>快速排序</title><link>http://www.cppblog.com/DjvuLee/archive/2012/03/05/167144.html</link><dc:creator>DjvuLee</dc:creator><author>DjvuLee</author><pubDate>Mon, 05 Mar 2012 00:52:00 GMT</pubDate><guid>http://www.cppblog.com/DjvuLee/archive/2012/03/05/167144.html</guid><wfw:comment>http://www.cppblog.com/DjvuLee/comments/167144.html</wfw:comment><comments>http://www.cppblog.com/DjvuLee/archive/2012/03/05/167144.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/DjvuLee/comments/commentRss/167144.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/DjvuLee/services/trackbacks/167144.html</trackback:ping><description><![CDATA[一个简单易理解的快速排序实现。<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000; ">//</span><span style="color: #008000; ">By:DjvuLee@2012--3-04<br /></span><span style="color: #008000; ">//</span><span style="color: #008000; ">快速排序，递归形式<br /></span><span style="color: #008000; ">//</span><span style="color: #008000; ">时间复杂度:O(nlgn);空间复杂度O(lgn)</span><span style="color: #008000; "><br /></span>#include&lt;iostream&gt;<br />#include&lt;algorithm&gt;<br />#include&lt;fstream&gt;<br /><span style="color: #0000FF; ">using</span>&nbsp;<span style="color: #0000FF; ">namespace</span>&nbsp;std;<br /><br /><span style="color: #0000FF; ">#define</span>&nbsp;N&nbsp;100<br /><span style="color: #0000FF; ">void</span>&nbsp;qsort(<span style="color: #0000FF; ">int</span>&nbsp;*a,&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;low,&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;high);<br /><br /><span style="color: #0000FF; ">int</span>&nbsp;main()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;ifstream&nbsp;fin("input.txt");<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;n;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;a[N];<br />&nbsp;&nbsp;&nbsp;&nbsp;fin&gt;&gt;n;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;i=0;i&lt;n;i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fin&gt;&gt;a[i];<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;qsort(a,0,n-1);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">output</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;i=0;i&lt;n;i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;a[i]&lt;&lt;"&nbsp;";<br />&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;endl;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;0;<br />}<br /><br /><span style="color: #0000FF; ">void</span>&nbsp;qsort(<span style="color: #0000FF; ">int</span>&nbsp;*a,&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;low,&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;high)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(low&gt;=high)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;i=low,j=high,type=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;key=a[i];<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>(i&lt;j){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(type==1)<span style="color: #008000; ">//</span><span style="color: #008000; ">自高位向低位</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(a[j]&lt;key)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;swap(a[i],a[j]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type=2;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">else</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;j--;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">else</span><span style="color: #008000; ">//</span><span style="color: #008000; ">自低位向高位</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(a[i]&gt;key)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;swap(a[i],&nbsp;a[j]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">else</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i++;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<span style="color: #008000; ">//</span><span style="color: #008000; ">end&nbsp;while</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;qsort(a,low,j-1);<br />&nbsp;&nbsp;&nbsp;&nbsp;qsort(a,i+1,high);<br />}</div> <div class="vimiumReset vimiumHUD" style="right: 150px; opacity: 0; display: none; "></div><img src ="http://www.cppblog.com/DjvuLee/aggbug/167144.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/DjvuLee/" target="_blank">DjvuLee</a> 2012-03-05 08:52 <a href="http://www.cppblog.com/DjvuLee/archive/2012/03/05/167144.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>堆排序</title><link>http://www.cppblog.com/DjvuLee/archive/2012/03/05/167143.html</link><dc:creator>DjvuLee</dc:creator><author>DjvuLee</author><pubDate>Mon, 05 Mar 2012 00:48:00 GMT</pubDate><guid>http://www.cppblog.com/DjvuLee/archive/2012/03/05/167143.html</guid><wfw:comment>http://www.cppblog.com/DjvuLee/comments/167143.html</wfw:comment><comments>http://www.cppblog.com/DjvuLee/archive/2012/03/05/167143.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/DjvuLee/comments/commentRss/167143.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/DjvuLee/services/trackbacks/167143.html</trackback:ping><description><![CDATA[一个简单的堆排序实现，以便自己以后查阅。<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><span style="font-size: 13px; ">#include</span><span style="font-size: 13px; ">&lt;</span><span style="font-size: 13px; ">iostream</span><span style="font-size: 13px; ">&gt;</span>&nbsp;<br />#include&lt;fstream&gt;<br />#include&lt;algorithm&gt;<br /><span style="color: #0000FF; ">using</span>&nbsp;<span style="color: #0000FF; ">namespace</span>&nbsp;std;<br /><br /><span style="color: #0000FF; ">#define</span>&nbsp;N&nbsp;10000<br /><span style="color: #0000FF; ">int</span>&nbsp;heapsize;<br />ifstream&nbsp;fin("input.txt");<br /><br /><span style="color: #0000FF; ">void</span>&nbsp;Heapsort(<span style="color: #0000FF; ">int</span>&nbsp;*A);<br /><span style="color: #0000FF; ">void</span>&nbsp;BuildMaxHeap(<span style="color: #0000FF; ">int</span>&nbsp;*A);<span style="color: #008000; ">//</span><span style="color: #008000; ">建大顶推</span><span style="color: #008000; "><br /></span><span style="color: #0000FF; ">void</span>&nbsp;MaxHeapify(<span style="color: #0000FF; ">int</span>&nbsp;*A,&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;i);<br /><span style="color: #0000FF; ">int</span>&nbsp;main()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;A[N];<br />&nbsp;&nbsp;&nbsp;&nbsp;fin&gt;&gt;A[0];<span style="color: #008000; ">//</span><span style="color: #008000; ">存储元素个数</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;i=1;i&lt;=A[0];i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fin&gt;&gt;A[i];<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;Heapsort(A);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;i=1;i&lt;=A[0];i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;A[i]&lt;&lt;"&nbsp;";<br />&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;endl;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;0;<br />}<br /><span style="color: #0000FF; ">void</span>&nbsp;Heapsort(<span style="color: #0000FF; ">int</span>&nbsp;*A)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;heapsize=A[0];<br />&nbsp;&nbsp;&nbsp;&nbsp;BuildMaxHeap(A);<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;i=heapsize&nbsp;;&nbsp;i&gt;=2;&nbsp;i--)<span style="color: #008000; ">//</span><span style="color: #008000; ">向下调整</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;swap(A[i],A[1]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;heapsize--;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MaxHeapify(A,1);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><span style="color: #0000FF; ">void</span>&nbsp;BuildMaxHeap(<span style="color: #0000FF; ">int</span>&nbsp;*A)<span style="color: #008000; ">//</span><span style="color: #008000; ">建大顶推</span><span style="color: #008000; "><br /></span>{<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;i=A[0]/2;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(;&nbsp;i&gt;=1;&nbsp;i--)<span style="color: #008000; ">//</span><span style="color: #008000; ">向上调整</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MaxHeapify(A,i);<br />}<br /><span style="color: #0000FF; ">void</span>&nbsp;MaxHeapify(<span style="color: #0000FF; ">int</span>&nbsp;*A,&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;i)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;l=i*2;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;r=l+1;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;largest;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(l&lt;=heapsize&nbsp;&amp;&amp;&nbsp;A[l]&gt;A[i])<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;largest=l;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">else</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;largest=i;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(r&lt;=heapsize&nbsp;&amp;&amp;&nbsp;A[r]&gt;A[largest])<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;largest=r;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(largest&nbsp;!=&nbsp;i)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;swap(A[largest],&nbsp;A[i]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MaxHeapify(A,largest);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}</div> <div class="vimiumReset vimiumHUD" style="right: 150px; opacity: 0; display: none; "></div> <div class="vimiumReset vimiumHUD" style="right: 150px; opacity: 0; display: none; "></div> <div class="vimiumReset vimiumHUD" style="right: 150px; opacity: 0; display: none; "></div><img src ="http://www.cppblog.com/DjvuLee/aggbug/167143.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/DjvuLee/" target="_blank">DjvuLee</a> 2012-03-05 08:48 <a href="http://www.cppblog.com/DjvuLee/archive/2012/03/05/167143.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Zipper[2192@pku]</title><link>http://www.cppblog.com/DjvuLee/archive/2012/03/02/166949.html</link><dc:creator>DjvuLee</dc:creator><author>DjvuLee</author><pubDate>Fri, 02 Mar 2012 01:42:00 GMT</pubDate><guid>http://www.cppblog.com/DjvuLee/archive/2012/03/02/166949.html</guid><wfw:comment>http://www.cppblog.com/DjvuLee/comments/166949.html</wfw:comment><comments>http://www.cppblog.com/DjvuLee/archive/2012/03/02/166949.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/DjvuLee/comments/commentRss/166949.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/DjvuLee/services/trackbacks/166949.html</trackback:ping><description><![CDATA[<div style="font-size: 13px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; border-image: initial; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; background-color: #eeeeee; "><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000; ">//</span><span style="color: #008000; ">@pku&nbsp;DY问题&nbsp;<br /></span><span style="color: #008000; ">//</span><span style="color: #008000; ">自底向上的迭代&nbsp;通过了</span><span style="color: #008000; "><br /></span>#include&lt;iostream&gt;<br />#include&lt;<span style="color: #0000FF; ">string</span>&gt;<br />#include&lt;fstream&gt;<br /><span style="color: #0000FF; ">using</span>&nbsp;<span style="color: #0000FF; ">namespace</span>&nbsp;std;<br /><br /><span style="color: #0000FF; ">#define</span>&nbsp;N&nbsp;210<br /><span style="color: #0000FF; ">#define</span>&nbsp;fin&nbsp;cin<br /><span style="color: #0000FF; ">bool</span>&nbsp;flag[N][N];<br /><span style="color: #0000FF; ">string</span>&nbsp;s1,s2,s;<br /><span style="color: #0000FF; ">int</span>&nbsp;main()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">ifstream&nbsp;fin("input.txt");</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;num;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>(fin&gt;&gt;num){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;t=1;t&lt;=num;t++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fin&gt;&gt;s1&gt;&gt;s2&gt;&gt;s;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;j=1;j&lt;=s2.size();j++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">string</span>&nbsp;sub=s2.substr(0,j);<span style="color: #008000; ">//</span><span style="color: #008000; ">s2的前j个字符</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">string</span>&nbsp;subs=s.substr(0,j);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;flag[0][j]=&nbsp;sub==subs&nbsp;?&nbsp;<span style="color: #0000FF; ">true</span>&nbsp;:&nbsp;<span style="color: #0000FF; ">false</span>&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;i=1;i&lt;=s1.size();i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">string</span>&nbsp;sub=s1.substr(0,i);<span style="color: #008000; ">//</span><span style="color: #008000; ">s1的前i个字符</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">string</span>&nbsp;subs=s.substr(0,i);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;flag[i][0]=&nbsp;sub==subs&nbsp;?&nbsp;<span style="color: #0000FF; ">true</span>&nbsp;:&nbsp;<span style="color: #0000FF; ">false</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">i,j表示个数</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;i=1;i&lt;=s1.size();i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;j=1;j&lt;=s2.size();j++)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(&nbsp;(flag[i-1][j]&nbsp;&amp;&amp;&nbsp;s[i+j-1]==s1[i-1])&nbsp;||&nbsp;(flag[i][j-1]&nbsp;&amp;&amp;&nbsp;s[i+j-1]==s2[j-1])&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;flag[i][j]=<span style="color: #0000FF; ">true</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">else</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;flag[i][j]=<span style="color: #0000FF; ">false</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(flag[s1.size()][s2.size()])<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"Data&nbsp;set&nbsp;"&lt;&lt;t&lt;&lt;":&nbsp;yes"&lt;&lt;endl;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">else</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"Data&nbsp;set&nbsp;"&lt;&lt;t&lt;&lt;":&nbsp;no"&lt;&lt;endl;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<span style="color: #008000; ">//</span><span style="color: #008000; ">end&nbsp;while</span><span style="color: #008000; "><br /></span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;0;<br />}</div>同一个题目，用备忘录却TLE了。看来递归调用的速度慢了很多。<br /><div style="font-size: 13px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; border-image: initial; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; background-color: #eeeeee; "><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000; ">//</span><span style="color: #008000; ">@pku&nbsp;DY<br /></span><span style="color: #008000; ">//</span><span style="color: #008000; ">备忘录方式<br /></span><span style="color: #008000; ">//</span><span style="color: #008000; ">程序理论上没有错误，但是TLE</span><span style="color: #008000; "><br /></span>#include&lt;iostream&gt;<br />#include&lt;fstream&gt;<br />#include&lt;<span style="color: #0000FF; ">string</span>&gt;<br /><span style="color: #0000FF; ">using</span>&nbsp;<span style="color: #0000FF; ">namespace</span>&nbsp;std;<br /><br /><span style="color: #0000FF; ">#define</span>&nbsp;N&nbsp;210<br /><span style="color: #008000; ">#define&nbsp;fin&nbsp;cin</span><span style="color: #008000; "><br /></span><span style="color: #0000FF; ">bool</span>&nbsp;flag[N][N];<br /><span style="color: #0000FF; ">string</span>&nbsp;s1,s2,s;<br /><span style="color: #0000FF; ">bool</span>&nbsp;dp(<span style="color: #0000FF; ">int</span>&nbsp;pos1,&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;pos2,&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;pos);<br /><span style="color: #0000FF; ">int</span>&nbsp;main()<br />{<br />&nbsp; &nbsp; //ifstream&nbsp;fin("input.txt");<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;num;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>(fin&gt;&gt;num){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;t=1;t&lt;=num;t++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fin&gt;&gt;s1&gt;&gt;s2&gt;&gt;s;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;i=0;i&lt;N;i++)<span style="color: #008000; ">//</span><span style="color: #008000; ">s1,s2的下标都从0开始</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;j=0;j&lt;N;j++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;flag[i][j]=<span style="color: #0000FF; ">false</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">bool</span>&nbsp;res=dp(s1.size()-1,s2.size()-1,s.size()-1);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(res)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"Data&nbsp;set&nbsp;"&lt;&lt;t&lt;&lt;":&nbsp;yes"&lt;&lt;endl;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">else</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"Data&nbsp;set&nbsp;"&lt;&lt;t&lt;&lt;":&nbsp;no"&lt;&lt;endl;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<span style="color: #008000; ">//</span><span style="color: #008000; ">end&nbsp;while</span><span style="color: #008000; "><br /></span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;0;<br />}<br /><br /><span style="color: #0000FF; ">bool</span>&nbsp;dp(<span style="color: #0000FF; ">int</span>&nbsp;pos1,&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;pos2,&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;pos)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(pos2==-1)<span style="color: #008000; ">//</span><span style="color: #008000; ">边界值</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">string</span>&nbsp;sub1=s1.substr(0,pos1+1);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">string</span>&nbsp;sub=s.substr(0,pos+1);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;flag[pos1+1][0]=(sub1==sub);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(pos1==-1)<span style="color: #008000; ">//</span><span style="color: #008000; ">边界值</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">string</span>&nbsp;sub2=s2.substr(0,pos2+1);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">string</span>&nbsp;sub=s.substr(0,pos+1);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;flag[0][pos2+1]=(sub2==sub);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">else</span><br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(&nbsp;flag[pos1+1][pos2+1])<span style="color: #008000; ">//</span><span style="color: #008000; ">已经计算了返回计算值</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;<span style="color: #0000FF; ">true</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">else</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;flag[pos1][pos2+1]=dp(pos1-1,pos2,pos-1);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;flag[pos1+1][pos2]=dp(pos1,pos2-1,pos-1);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(&nbsp;(flag[pos1][pos2+1]&nbsp;&amp;&amp;&nbsp;s1[pos1]==s[pos])&nbsp;||<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(flag[pos1+1][pos2]&nbsp;&amp;&amp;&nbsp;s2[pos2]==s[pos])&nbsp;&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;flag[pos1+1][pos2+1]=<span style="color: #0000FF; ">true</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">else</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;flag[pos1+1][pos2+1]=<span style="color: #0000FF; ">false</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}</div><div class="vimiumReset vimiumHUD" style="right: 150px; opacity: 0; display: none; "></div><img src ="http://www.cppblog.com/DjvuLee/aggbug/166949.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/DjvuLee/" target="_blank">DjvuLee</a> 2012-03-02 09:42 <a href="http://www.cppblog.com/DjvuLee/archive/2012/03/02/166949.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Human Gene Functions[1080@pku]</title><link>http://www.cppblog.com/DjvuLee/archive/2012/03/01/166840.html</link><dc:creator>DjvuLee</dc:creator><author>DjvuLee</author><pubDate>Thu, 01 Mar 2012 02:04:00 GMT</pubDate><guid>http://www.cppblog.com/DjvuLee/archive/2012/03/01/166840.html</guid><wfw:comment>http://www.cppblog.com/DjvuLee/comments/166840.html</wfw:comment><comments>http://www.cppblog.com/DjvuLee/archive/2012/03/01/166840.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/DjvuLee/comments/commentRss/166840.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/DjvuLee/services/trackbacks/166840.html</trackback:ping><description><![CDATA[<div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000; ">//</span><span style="color: #008000; ">@pku&nbsp;DY问题，最重要的是要找到最优子结构<br /></span><span style="color: #008000; ">//</span><span style="color: #008000; ">最优子结构为TAG标记处<br /></span><span style="color: #008000; ">//</span><span style="color: #008000; ">本题反映的就是子结构的最终边界返回出来不是很自然</span><span style="color: #008000; "><br /></span>#include&lt;iostream&gt;<br />#include&lt;<span style="color: #0000FF; ">string</span>&gt;<br />#include&lt;algorithm&gt;<br /><span style="color: #0000FF; ">using</span>&nbsp;<span style="color: #0000FF; ">namespace</span>&nbsp;std;<br /><br /><span style="color: #0000FF; ">#define</span>&nbsp;N&nbsp;120<br /><span style="color: #0000FF; ">#define</span>&nbsp;MAX&nbsp;10000<span style="color: #008000; ">//</span><span style="color: #008000; ">考虑到串最长不会超过100，全部匹配也只有500</span><br /><span style="color: #0000FF; ">int</span>&nbsp;flag[N][N];<br /><br /><span style="color: #0000FF; ">int</span>&nbsp;dp(<span style="color: #0000FF; ">int</span>&nbsp;pos1,<span style="color: #0000FF; ">int</span>&nbsp;pos2);<br /><span style="color: #0000FF; ">int</span>&nbsp;getVal(<span style="color: #0000FF; ">char</span>&nbsp;ch1,&nbsp;<span style="color: #0000FF; ">char</span>&nbsp;ch2);<br /><span style="color: #0000FF; ">int</span>&nbsp;M[5][5]={{5,-1,-2,-1,-3},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{-1,5,-3,-2,-4},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{-2,-3,5,-2,-2},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{-1,-2,-2,5,-1},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{-3,-4,-2,-1,-10000}};<br /><span style="color: #0000FF; ">string</span>&nbsp;s1,s2;<br /><span style="color: #0000FF; ">int</span>&nbsp;main()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;n;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>(cin&gt;&gt;n){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;i=0;i&lt;n;i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;len1,len2;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cin&gt;&gt;len1&gt;&gt;s1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cin&gt;&gt;len2&gt;&gt;s2;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;cn=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;i=0;i&lt;N;i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;j=0;j&lt;N;j++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;flag[i][j]=MAX;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cn=dp(s1.size()-1,s2.size()-1);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;cn&lt;&lt;endl;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<span style="color: #008000; ">//</span><span style="color: #008000; ">end&nbsp;while</span><span style="color: #008000; "><br /></span>}<br /><br /><br /><span style="color: #0000FF; ">int</span>&nbsp;dp(<span style="color: #0000FF; ">int</span>&nbsp;pos1,<span style="color: #0000FF; ">int</span>&nbsp;pos2)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(pos1==-1&nbsp;&amp;&amp;&nbsp;pos2&nbsp;==-1)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(pos1==-1)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;getVal('-',s2[pos2])+dp(-1,pos2-1);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(pos2==-1)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;getVal(s1[pos1],'-')+dp(pos1-1,-1);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">else</span><br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(flag[pos1+1][pos2+1]!=MAX)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;flag[pos1+1][pos2+1];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">else</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;val1=getVal(s1[pos1],s2[pos2])+dp(pos1-1,pos2-1);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;val2=getVal(s1[pos1],'-')+dp(pos1-1,pos2);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;val3=getVal('-',s2[pos2])+dp(pos1,pos2-1);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;flag[pos1+1][pos2+1]=max(val1,max(val2,val3));<span style="color: #008000; ">//</span><span style="color: #008000; ">TAG</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /><span style="color: #0000FF; ">int</span>&nbsp;getVal(<span style="color: #0000FF; ">char</span>&nbsp;ch1,&nbsp;<span style="color: #0000FF; ">char</span>&nbsp;ch2)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(ch1==ch2)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;5;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;pos1,pos2;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">switch</span>(ch1){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">case</span>&nbsp;'A':{pos1=0;<span style="color: #0000FF; ">break</span>;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">case</span>&nbsp;'C':{pos1=1;<span style="color: #0000FF; ">break</span>;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">case</span>&nbsp;'G':{pos1=2;<span style="color: #0000FF; ">break</span>;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">case</span>&nbsp;'T':{pos1=3;<span style="color: #0000FF; ">break</span>;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">case</span>&nbsp;'-':{pos1=4;<span style="color: #0000FF; ">break</span>;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<span style="color: #008000; ">//</span><span style="color: #008000; ">end&nbsp;switch</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">switch</span>(ch2){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">case</span>&nbsp;'A':{pos2=0;<span style="color: #0000FF; ">break</span>;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">case</span>&nbsp;'C':{pos2=1;<span style="color: #0000FF; ">break</span>;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">case</span>&nbsp;'G':{pos2=2;<span style="color: #0000FF; ">break</span>;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">case</span>&nbsp;'T':{pos2=3;<span style="color: #0000FF; ">break</span>;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">case</span>&nbsp;'-':{pos2=4;<span style="color: #0000FF; ">break</span>;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<span style="color: #008000; ">//</span><span style="color: #008000; ">end&nbsp;switch</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;M[pos1][pos2];<br />}</div> <div class="vimiumReset vimiumHUD" style="right: 150px; opacity: 0; display: none; "></div><img src ="http://www.cppblog.com/DjvuLee/aggbug/166840.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/DjvuLee/" target="_blank">DjvuLee</a> 2012-03-01 10:04 <a href="http://www.cppblog.com/DjvuLee/archive/2012/03/01/166840.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>