﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-编程小区-随笔分类-数据结构的所有实现程序</title><link>http://www.cppblog.com/3522021224/category/4444.html</link><description>我们的目标--中国IT精英
大家加油
我自己也加油,嘿嘿
</description><language>zh-cn</language><lastBuildDate>Tue, 20 May 2008 23:25:34 GMT</lastBuildDate><pubDate>Tue, 20 May 2008 23:25:34 GMT</pubDate><ttl>60</ttl><item><title>C语言版--图的实现和各种操作</title><link>http://www.cppblog.com/3522021224/archive/2007/06/15/26365.html</link><dc:creator> 星梦情缘</dc:creator><author> 星梦情缘</author><pubDate>Fri, 15 Jun 2007 02:13:00 GMT</pubDate><guid>http://www.cppblog.com/3522021224/archive/2007/06/15/26365.html</guid><wfw:comment>http://www.cppblog.com/3522021224/comments/26365.html</wfw:comment><comments>http://www.cppblog.com/3522021224/archive/2007/06/15/26365.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/3522021224/comments/commentRss/26365.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/3522021224/services/trackbacks/26365.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 图的实现,最短路径,各种遍历,最小生成树&nbsp;&nbsp;<a href='http://www.cppblog.com/3522021224/archive/2007/06/15/26365.html'>阅读全文</a><img src ="http://www.cppblog.com/3522021224/aggbug/26365.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/3522021224/" target="_blank"> 星梦情缘</a> 2007-06-15 10:13 <a href="http://www.cppblog.com/3522021224/archive/2007/06/15/26365.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数值分析--三次样条插值公式</title><link>http://www.cppblog.com/3522021224/archive/2007/06/09/25890.html</link><dc:creator> 星梦情缘</dc:creator><author> 星梦情缘</author><pubDate>Sat, 09 Jun 2007 04:16:00 GMT</pubDate><guid>http://www.cppblog.com/3522021224/archive/2007/06/09/25890.html</guid><wfw:comment>http://www.cppblog.com/3522021224/comments/25890.html</wfw:comment><comments>http://www.cppblog.com/3522021224/archive/2007/06/09/25890.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cppblog.com/3522021224/comments/commentRss/25890.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/3522021224/services/trackbacks/25890.html</trackback:ping><description><![CDATA[<p>#include"iostream.h"<br>#include"fstream.h"</p>
<p>#define N 100<br>float X[N],Y[N],M[N],a,b;<br>double f(int i,int j)<br>{<br>&nbsp; double sum1=0;<br>&nbsp; if(j-i==1) return (Y[j]-Y[i])/(X[j]-X[i]);<br>&nbsp; else return (f(i+1,j)-f(i,j-1))/(X[j]-X[i]);<br>}</p>
<p><br>void main()<br>{</p>
<p>&nbsp; ifstream istrm("E:\\data.txt");//这里是文件的输入，请相应改成普通键盘输入<br>&nbsp; int n=3;<br>&nbsp; for(int i=0;i&lt;=n;i++)<br>&nbsp;&nbsp; istrm&gt;&gt;X[i]&gt;&gt;Y[i];<br>&nbsp; istrm&gt;&gt;a&gt;&gt;b;<br>&nbsp; float h[N],u[N],q[N],d[N];<br>&nbsp; for(i=0;i&lt;n;i++)<br>&nbsp;&nbsp; h[i]=X[i+1]-X[i];<br>&nbsp; q[0]=1;q[n]=0;<br>&nbsp; for(i=1;i&lt;n;i++)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; q[i]=h[i]/(h[i-1]+h[i]);<br>&nbsp; for(i=0;i&lt;=n;i++)<br>&nbsp;&nbsp; u[i]=1-q[i];<br>&nbsp; d[0]=(6*(f(0,1)-a))/h[0];<br>&nbsp; d[n]=(6*(b-f(n-1,n)))/h[n-1];<br>&nbsp; for(i=1;i&lt;n;i++)<br>&nbsp;&nbsp;&nbsp;&nbsp; d[i]=6*f(i-1,i+1);<br>&nbsp; float m[N];<br>&nbsp; for(i=0;i&lt;=n;i++) m[i]=2;<br>&nbsp; for(i=1;i&lt;=n;i++)<br>&nbsp; {<br>&nbsp;&nbsp;&nbsp; m[i]=m[i]-(u[i]/m[i-1])*q[i-1];<br>&nbsp;d[i]=d[i]-(u[i]/m[i-1])*d[i-1];<br>&nbsp; }<br>&nbsp; M[n]=d[n]/m[n];<br>&nbsp; cout&lt;&lt;M[n]&lt;&lt;endl;<br>&nbsp; for(i=n-1;i&gt;=0;i--)<br>&nbsp; {<br>&nbsp;&nbsp;&nbsp; M[i]=(d[i]-q[i]*M[i+1])/m[i];<br>&nbsp;cout&lt;&lt;M[i]&lt;&lt;endl;<br>&nbsp; }<br>}</p>
<img src ="http://www.cppblog.com/3522021224/aggbug/25890.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/3522021224/" target="_blank"> 星梦情缘</a> 2007-06-09 12:16 <a href="http://www.cppblog.com/3522021224/archive/2007/06/09/25890.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数值分析--速度最快的牛顿插值</title><link>http://www.cppblog.com/3522021224/archive/2007/06/09/25889.html</link><dc:creator> 星梦情缘</dc:creator><author> 星梦情缘</author><pubDate>Sat, 09 Jun 2007 04:15:00 GMT</pubDate><guid>http://www.cppblog.com/3522021224/archive/2007/06/09/25889.html</guid><wfw:comment>http://www.cppblog.com/3522021224/comments/25889.html</wfw:comment><comments>http://www.cppblog.com/3522021224/archive/2007/06/09/25889.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cppblog.com/3522021224/comments/commentRss/25889.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/3522021224/services/trackbacks/25889.html</trackback:ping><description><![CDATA[<p>#define N 100<br>#include"iostream.h"<br>&nbsp;float Y[N],X[N];<br>&nbsp;int n,k=1;<br>&nbsp;float x;<br>&nbsp;float sum,s;<br>float f(int i,int j)<br>{<br>&nbsp; float sum1=0;<br>&nbsp; if(j-i==1) sum1=(Y[j]-Y[i])/(X[j]-X[i]);<br>&nbsp; else sum1=(f(i+1,j)-f(i,j-1))/(X[j]-X[i]);<br>&nbsp; if(i==0&amp;&amp;j==k)<br>&nbsp; {<br>&nbsp;&nbsp;&nbsp; sum+=sum1*s;<br>&nbsp;s*=(x-X[k]);<br>&nbsp;k++;<br>&nbsp; }<br>&nbsp; return sum1;<br>}</p>
<p>&nbsp;void main()<br>{<br>&nbsp; cout&lt;&lt;"输入你想进行的X次多项试计算:";<br>&nbsp; cin&gt;&gt;n;<br>&nbsp; for(int i=0;i&lt;=n;i++)<br>&nbsp; {<br>&nbsp;&nbsp;&nbsp; cout&lt;&lt;"输入第"&lt;&lt;i+1&lt;&lt;"个点的坐标:";<br>&nbsp;cin&gt;&gt;X[i]&gt;&gt;Y[i];<br>&nbsp; }<br>&nbsp; sum=Y[0];<br>&nbsp; cout&lt;&lt;"输入你想进行计算的x值:";<br>&nbsp; cin&gt;&gt;x;<br>&nbsp; s=(x-X[0]);<br>&nbsp; f(0,n);<br>&nbsp; cout&lt;&lt;sum;<br>}</p>
<img src ="http://www.cppblog.com/3522021224/aggbug/25889.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/3522021224/" target="_blank"> 星梦情缘</a> 2007-06-09 12:15 <a href="http://www.cppblog.com/3522021224/archive/2007/06/09/25889.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C语言版--二叉树</title><link>http://www.cppblog.com/3522021224/archive/2007/06/09/25888.html</link><dc:creator> 星梦情缘</dc:creator><author> 星梦情缘</author><pubDate>Sat, 09 Jun 2007 04:08:00 GMT</pubDate><guid>http://www.cppblog.com/3522021224/archive/2007/06/09/25888.html</guid><wfw:comment>http://www.cppblog.com/3522021224/comments/25888.html</wfw:comment><comments>http://www.cppblog.com/3522021224/archive/2007/06/09/25888.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/3522021224/comments/commentRss/25888.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/3522021224/services/trackbacks/25888.html</trackback:ping><description><![CDATA[<p>#include "head.h"//这里是你的常量头文件<br>#include "iostream.h"</p>
<p>typedef char TElemType;<br>typedef struct BiTNode{<br>&nbsp; TElemType data;<br>&nbsp; struct BiTNode *lchild,*rchild;<br>}BiTNode,*BiTree;<br><br></p>
<p>Status CreateBiTree(BiTree &amp;T)<br>{<br>&nbsp; TElemType ch;<br>&nbsp; cout&lt;&lt;"输入你想要的数据：";<br>&nbsp; cin&gt;&gt;ch;<br>&nbsp; if(<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#99;&#104;&#61;&#61;&#39;&#64;&#39;">ch=='@'</a>) T=NULL;<br>&nbsp; else <br>&nbsp; {<br>&nbsp;&nbsp;&nbsp; T=new BiTNode;<br>&nbsp;if(!T) return ERROR;<br>&nbsp;T-&gt;data=ch;<br>&nbsp;CreateBiTree(T-&gt;lchild);<br>&nbsp;CreateBiTree(T-&gt;rchild);<br>&nbsp; }<br>&nbsp; return OK;<br>}<br>Status PreOrderTraverse(BiTree T)<br>{<br>&nbsp;if(T)<br>&nbsp;{<br>&nbsp;&nbsp; cout&lt;&lt;T-&gt;data;<br>&nbsp;&nbsp; PreOrderTraverse(T-&gt;lchild);<br>&nbsp;&nbsp; PreOrderTraverse(T-&gt;rchild);<br>&nbsp;}<br>&nbsp;return OK;<br>}<br>Status InOrderTraverse(BiTree T)<br>{<br>&nbsp; if(T)<br>&nbsp; {<br>&nbsp;&nbsp;&nbsp; InOrderTraverse(T-&gt;lchild);<br>&nbsp;cout&lt;&lt;T-&gt;data;<br>&nbsp;InOrderTraverse(T-&gt;rchild);<br>&nbsp; }<br>&nbsp; return OK;<br>}<br>Status PostOrderTraverse(BiTree T)<br>{<br>&nbsp; if(T)<br>&nbsp; {<br>&nbsp;&nbsp;&nbsp; PostOrderTraverse(T-&gt;lchild);<br>&nbsp;PostOrderTraverse(T-&gt;rchild);<br>&nbsp;cout&lt;&lt;T-&gt;data;<br>&nbsp;}<br>&nbsp; return OK;<br>}<br>int BiTreeDepth(BiTree T)<br>{<br>&nbsp; int m=0;</p>
<p><br>&nbsp; return m;<br>}</p>
<img src ="http://www.cppblog.com/3522021224/aggbug/25888.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/3522021224/" target="_blank"> 星梦情缘</a> 2007-06-09 12:08 <a href="http://www.cppblog.com/3522021224/archive/2007/06/09/25888.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数值分析--龙贝格算法</title><link>http://www.cppblog.com/3522021224/archive/2007/06/08/25859.html</link><dc:creator> 星梦情缘</dc:creator><author> 星梦情缘</author><pubDate>Fri, 08 Jun 2007 15:28:00 GMT</pubDate><guid>http://www.cppblog.com/3522021224/archive/2007/06/08/25859.html</guid><wfw:comment>http://www.cppblog.com/3522021224/comments/25859.html</wfw:comment><comments>http://www.cppblog.com/3522021224/archive/2007/06/08/25859.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cppblog.com/3522021224/comments/commentRss/25859.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/3522021224/services/trackbacks/25859.html</trackback:ping><description><![CDATA[<p>#include"iostream.h"<br>#include"math.h"</p>
<p>double f(double x)<br>{<br>&nbsp;&nbsp; return pow(x,3.0/2.0);<br>}<br>double T(double n,double a,double b)<br>{<br>&nbsp; double sum=0;<br>&nbsp; for(int i=0;2*i+1&lt;=n;i++)<br>&nbsp; {<br>&nbsp;&nbsp;&nbsp; sum+=f(a+double(2*i+1)/n);<br>&nbsp; }<br>&nbsp; if(n==1) return 0.5*(f(a)+f(b));<br>&nbsp; return 0.5*T(n/2,a,b)+sum*(1.0/n);<br>}<br>void Romberg(double a,double b,double e)<br>{<br>&nbsp; double Old[10]={0.0},New[10]={0.0};<br>&nbsp; double h=b-a;<br>&nbsp; New[0]=h*(f(a)+f(b))/2.0;<br>&nbsp; int j;<br>&nbsp; for(int i=1;;i++)<br>&nbsp; {<br>&nbsp;&nbsp;&nbsp; for(j=0;j&lt;i;j++) Old[j]=New[j];<br>&nbsp;New[0]=T(pow(2,i),a,b);<br>&nbsp;for(j=1;j&lt;=i;j++)<br>&nbsp;&nbsp;New[j]=(pow(4,j)*New[j-1]/(pow(4,j)-1)-Old[j-1]/(pow(4,j)-1));<br>&nbsp;if(fabs(New[i]-Old[i-1])&lt;e) break;<br>&nbsp; }<br>&nbsp; cout&lt;&lt;New[i];<br>}</p>
<p>void main()<br>{<br>&nbsp; double a,b;&nbsp; <br>&nbsp; double e;<br>&nbsp; cout&lt;&lt;"请输入积分的下、上限：";<br>&nbsp; cin&gt;&gt;a&gt;&gt;b;<br>&nbsp; cout&lt;&lt;"输入你要的精度：";<br>&nbsp; cin&gt;&gt;e;<br>&nbsp; Romberg(a,b,e);<br>}<br></p>
<img src ="http://www.cppblog.com/3522021224/aggbug/25859.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/3522021224/" target="_blank"> 星梦情缘</a> 2007-06-08 23:28 <a href="http://www.cppblog.com/3522021224/archive/2007/06/08/25859.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数值分析--数值积分公式</title><link>http://www.cppblog.com/3522021224/archive/2007/06/08/25858.html</link><dc:creator> 星梦情缘</dc:creator><author> 星梦情缘</author><pubDate>Fri, 08 Jun 2007 15:27:00 GMT</pubDate><guid>http://www.cppblog.com/3522021224/archive/2007/06/08/25858.html</guid><wfw:comment>http://www.cppblog.com/3522021224/comments/25858.html</wfw:comment><comments>http://www.cppblog.com/3522021224/archive/2007/06/08/25858.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/3522021224/comments/commentRss/25858.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/3522021224/services/trackbacks/25858.html</trackback:ping><description><![CDATA[<p>#include"iostream.h"<br>#include"math.h"</p>
<p>double c[10][10];</p>
<p>double f(double x)<br>{<br>&nbsp; double sum=0;<br>&nbsp; if(x==0) return 1;<br>&nbsp; sum=sin(x)/x;<br>&nbsp; return sum;<br>}<br>void initcotes(double c[][10])<br>{<br>&nbsp; c[1][0]=c[1][1]=0.5;<br>&nbsp; c[2][0]=c[2][2]=1.0/6.0;c[2][1]=2.0/3.0;<br>&nbsp; c[3][0]=c[3][3]=1.0/8.0;c[3][1]=c[3][2]=3.0/8.0;<br>&nbsp; c[4][0]=c[4][4]=7.0/90.0;c[4][1]=c[4][3]=16.0/45.0;c[4][2]=2.0/15.0;<br>&nbsp; c[5][0]=c[4][5]=19.0/288.0;c[5][1]=c[5][4]=25.0/96.0;c[5][2]=c[5][3]=25.0/144.0;<br>}<br>void Trapezoid(double a,double b)<br>{<br>&nbsp; cout&lt;&lt;"梯形公式的结果："&lt;&lt;(b-a)*(f(a)+f(b))/2&lt;&lt;endl;<br>}<br>void MidRect(double a,double b)<br>{<br>&nbsp; cout&lt;&lt;"中矩形公式的结果："&lt;&lt;(b-a)*f((b+a)/2)&lt;&lt;endl;<br>}<br>void NewtonCotes(double a,double b)<br>{<br>&nbsp; int n,k;double h;<br>&nbsp; cout&lt;&lt;"请输入n的值：";<br>&nbsp; cin&gt;&gt;n;<br>&nbsp; h=(b-a)/double(n);<br>&nbsp; double sum=0;<br>&nbsp; for(k=0;k&lt;=n;k++)<br>&nbsp;&nbsp; sum+=c[n][k]*f(a+k*h);<br>&nbsp; cout&lt;&lt;"牛顿-柯特斯公式的结果："&lt;&lt;(b-a)*sum&lt;&lt;endl;<br>}<br>int STrapezoid(double a,double b)<br>{&nbsp;<br>&nbsp; int n,k,q;double h;<br>&nbsp; cout&lt;&lt;"1--复化梯形公式"&lt;&lt;endl;<br>&nbsp; cout&lt;&lt;"2--复化辛普森求积公式"&lt;&lt;endl;<br>&nbsp; cout&lt;&lt;"输入你想进行的操作：";<br>&nbsp; cin&gt;&gt;q;&nbsp; <br>&nbsp; cout&lt;&lt;"请输入n的值：";<br>&nbsp; cin&gt;&gt;n;<br>&nbsp; h=(b-a)/double(n);<br>&nbsp; double sum=0;<br>&nbsp; sum+=(f(a)+f(b));<br>&nbsp; for(k=1;k&lt;=n-1;k++)&nbsp; sum+=2*f(a+k*h);<br>&nbsp;if(q==1)<br>&nbsp;{<br>&nbsp; cout&lt;&lt;"复化梯形公式的结果："&lt;&lt;(h/2)*sum&lt;&lt;endl;<br>&nbsp; return 1;<br>&nbsp;}</p>
<p><br>&nbsp; for(k=0;k&lt;n;k++)<br>&nbsp;&nbsp; sum+=4*f(a+(k+0.5)*h);<br>&nbsp; cout&lt;&lt;"复化辛普森求积公式的结果："&lt;&lt;(h/6)*sum&lt;&lt;endl;<br>&nbsp; return 1;</p>
<p>}</p>
<p>void main()<br>{<br>&nbsp; double a,b;<br>&nbsp; int p;<br>&nbsp; cout&lt;&lt;"请输入积分的下、上限：";<br>&nbsp; cin&gt;&gt;a&gt;&gt;b;<br>&nbsp; initcotes(c);<br>&nbsp; while(1)<br>&nbsp; {<br>&nbsp;&nbsp;&nbsp; cout&lt;&lt;"0--退出"&lt;&lt;endl;<br>&nbsp;cout&lt;&lt;"1--梯形公式"&lt;&lt;endl;<br>&nbsp;cout&lt;&lt;"2--中矩形公式"&lt;&lt;endl; <br>&nbsp;cout&lt;&lt;"3--牛顿柯特斯公式:"&lt;&lt;endl; <br>&nbsp;cout&lt;&lt;"4--复化公式"&lt;&lt;endl;<br>&nbsp;cout&lt;&lt;"输入你想进行的操作:";<br>&nbsp;cin&gt;&gt;p;<br>&nbsp;<br>&nbsp;switch(p)<br>&nbsp;{<br>&nbsp;case 1:Trapezoid(a,b);<br>&nbsp;case 2:MidRect(a,b);<br>&nbsp;case 3:NewtonCotes(a,b);<br>&nbsp;&nbsp;&nbsp; case 4:STrapezoid(a,b);<br>&nbsp;}<br>&nbsp;if(p==0)&nbsp; break;<br>&nbsp; }<br>}<br></p>
<img src ="http://www.cppblog.com/3522021224/aggbug/25858.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/3522021224/" target="_blank"> 星梦情缘</a> 2007-06-08 23:27 <a href="http://www.cppblog.com/3522021224/archive/2007/06/08/25858.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数值分析--解线性方程</title><link>http://www.cppblog.com/3522021224/archive/2007/06/08/25795.html</link><dc:creator> 星梦情缘</dc:creator><author> 星梦情缘</author><pubDate>Thu, 07 Jun 2007 16:25:00 GMT</pubDate><guid>http://www.cppblog.com/3522021224/archive/2007/06/08/25795.html</guid><wfw:comment>http://www.cppblog.com/3522021224/comments/25795.html</wfw:comment><comments>http://www.cppblog.com/3522021224/archive/2007/06/08/25795.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/3522021224/comments/commentRss/25795.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/3522021224/services/trackbacks/25795.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 解线性方程&nbsp;&nbsp;<a href='http://www.cppblog.com/3522021224/archive/2007/06/08/25795.html'>阅读全文</a><img src ="http://www.cppblog.com/3522021224/aggbug/25795.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/3522021224/" target="_blank"> 星梦情缘</a> 2007-06-08 00:25 <a href="http://www.cppblog.com/3522021224/archive/2007/06/08/25795.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C++版--链表</title><link>http://www.cppblog.com/3522021224/archive/2007/06/07/25759.html</link><dc:creator> 星梦情缘</dc:creator><author> 星梦情缘</author><pubDate>Thu, 07 Jun 2007 11:46:00 GMT</pubDate><guid>http://www.cppblog.com/3522021224/archive/2007/06/07/25759.html</guid><wfw:comment>http://www.cppblog.com/3522021224/comments/25759.html</wfw:comment><comments>http://www.cppblog.com/3522021224/archive/2007/06/07/25759.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/3522021224/comments/commentRss/25759.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/3522021224/services/trackbacks/25759.html</trackback:ping><description><![CDATA[<p>#include "head.h"<br>#include "iostream.h"<br>#include "string.h"</p>
<p>typedef char ElemType;</p>
<p>typedef struct LNode{<br>&nbsp; ElemType data;<br>&nbsp; struct LNode *next;<br>}LNode,*Link;</p>
<p>class LinkList<br>{<br>private:<br>&nbsp;Link head;<br>public:<br>&nbsp;LinkList(){}<br>&nbsp;LinkList(ElemType a[]);<br>&nbsp;void CreateLinkList();<br>&nbsp;void inver();<br>&nbsp;ElemType get(int i);<br>&nbsp;Status insert(int loc,ElemType e);<br>&nbsp;ElemType del(int i);<br>&nbsp;void print();<br>&nbsp;void MergeList(LinkList la,LinkList lb);<br>};<br>LinkList::LinkList(ElemType a[])<br>{<br>&nbsp; int n=strlen(a),i;<br>&nbsp; Link p;<br>&nbsp; head=new LNode;<br>&nbsp; head-&gt;next=NULL;<br>&nbsp; for(i=n-1;i&gt;=0;i--)<br>&nbsp; {<br>&nbsp;&nbsp;&nbsp; p=new LNode;<br>&nbsp;p-&gt;data=a[i];<br>&nbsp;p-&gt;next=head-&gt;next;<br>&nbsp;head-&gt;next=p;<br>&nbsp; }<br>};<br>void LinkList::print()<br>{<br>&nbsp; Link p=head-&gt;next;<br>&nbsp;while(p)<br>&nbsp;{<br>&nbsp;&nbsp; cout&lt;&lt;p-&gt;data&lt;&lt;"-&gt;";<br>&nbsp;&nbsp; p=p-&gt;next;<br>&nbsp;}<br>&nbsp;cout&lt;&lt;"NULL"&lt;&lt;endl;<br>};<br>void LinkList::CreateLinkList()<br>{<br>&nbsp; int n;<br>&nbsp; cout&lt;&lt;"请输入你要构建的表的长度:";<br>&nbsp; cin&gt;&gt;n;<br>&nbsp; ElemType *e;<br>&nbsp; e=new ElemType[n];<br>&nbsp; cin&gt;&gt;e;<br>&nbsp; int i;<br>&nbsp; Link p;<br>&nbsp; head=new LNode;<br>&nbsp; head-&gt;next=NULL;<br>&nbsp; for(i=n-1;i&gt;=0;i--)<br>&nbsp; {<br>&nbsp;&nbsp;&nbsp; p=new LNode;<br>&nbsp;p-&gt;data=e[i];<br>&nbsp;p-&gt;next=head-&gt;next;<br>&nbsp;head-&gt;next=p;<br>&nbsp; }<br>&nbsp; <br>}<br>ElemType LinkList::get(int i)<br>{<br>&nbsp; int cnt=1;<br>&nbsp; Link p=head-&gt;next;<br>&nbsp; while(cnt!=i)<br>&nbsp;&nbsp; p=p-&gt;next;<br>&nbsp; return p-&gt;data;</p>
<p>}<br>Status LinkList::insert(int loc,ElemType e)<br>{<br>&nbsp; Link p=head;<br>&nbsp; int j=0;<br>&nbsp; while(p&amp;&amp;j++&lt;loc-1) p=p-&gt;next;<br>&nbsp; if(!p||j&gt;loc-1) return ERROR;<br>&nbsp; Link s=new LNode;<br>&nbsp; s-&gt;data=e;<br>&nbsp; s-&gt;next=p-&gt;next;<br>&nbsp; p-&gt;next=s;<br>&nbsp; return OK;<br>}</p>
<img src ="http://www.cppblog.com/3522021224/aggbug/25759.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/3522021224/" target="_blank"> 星梦情缘</a> 2007-06-07 19:46 <a href="http://www.cppblog.com/3522021224/archive/2007/06/07/25759.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C++版--线性表</title><link>http://www.cppblog.com/3522021224/archive/2007/06/07/25758.html</link><dc:creator> 星梦情缘</dc:creator><author> 星梦情缘</author><pubDate>Thu, 07 Jun 2007 11:44:00 GMT</pubDate><guid>http://www.cppblog.com/3522021224/archive/2007/06/07/25758.html</guid><wfw:comment>http://www.cppblog.com/3522021224/comments/25758.html</wfw:comment><comments>http://www.cppblog.com/3522021224/archive/2007/06/07/25758.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/3522021224/comments/commentRss/25758.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/3522021224/services/trackbacks/25758.html</trackback:ping><description><![CDATA[<p>#include "head.h"<br>#include "iostream.h"</p>
<p><br>#define LIST_INIT_SIZE 100</p>
<p>template &lt;class ElemType&gt;<br>class SqList<br>{<br>&nbsp; private:<br>&nbsp;&nbsp; ElemType *elem;<br>&nbsp;&nbsp; int length;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int listsize; <br>&nbsp; public:<br>&nbsp;&nbsp; SqList(int max=LIST_INIT_SIZE);<br>&nbsp;&nbsp; ~SqList(){delete[] elem;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; void ClearList();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Status input(int n);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Status output();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Status ListEmpty();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int&nbsp;&nbsp;&nbsp; ListLength();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ElemType GetElem(int i);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Status NextElem(ElemType i,ElemType &amp;next_e);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Status ListInsert(int i,ElemType e);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Status ListDelete(int i,ElemType &amp;e);<br>&nbsp;&nbsp; Status inver();// 逆置<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //Status MergeList(SqList La,SqList Lb);<br>};<br>template &lt;class ElemType&gt; SqList&lt;ElemType&gt;::SqList(int max)<br>{<br>&nbsp; listsize=max;<br>&nbsp; length=0;<br>&nbsp; elem=new ElemType[listsize];<br>};<br>template &lt;class ElemType&gt; void SqList&lt;ElemType&gt;::ClearList()<br>{<br>&nbsp; delete[] elem;<br>&nbsp; elem=new ElemType[listsize];<br>&nbsp; length=0;<br>};<br>template &lt;class ElemType&gt; Status SqList&lt;ElemType&gt;::input(int n)<br>{<br>&nbsp; if(n&lt;=0) return ERROR;<br>&nbsp; for(int i=0;i&lt;n;i++)<br>&nbsp; {<br>&nbsp;&nbsp;&nbsp; cout&lt;&lt;"输入第"&lt;&lt;i+1&lt;&lt;"个数:";<br>&nbsp;cin&gt;&gt;elem[i];<br>&nbsp; }<br>&nbsp; length=n;<br>&nbsp; return OK;<br>};<br>template &lt;class ElemType&gt; Status SqList&lt;ElemType&gt;::output()<br>{<br>&nbsp; if(length==0) return ERROR;<br>&nbsp; else <br>&nbsp; {<br>&nbsp;&nbsp;&nbsp; for(int i=0;i&lt;length;i++)<br>&nbsp;{<br>&nbsp;&nbsp; cout&lt;&lt;elem[i]&lt;&lt;"-&gt;";<br>&nbsp;}<br>&nbsp;cout&lt;&lt;"NULL"&lt;&lt;endl;<br>&nbsp; }<br>&nbsp; return OK;<br>};<br>template &lt;class ElemType&gt; Status SqList&lt;ElemType&gt;::ListEmpty()<br>{<br>&nbsp; if(length==0) return TRUE;<br>&nbsp;&nbsp; else return FALSE; <br>};<br>template &lt;class ElemType&gt; int SqList&lt;ElemType&gt;::ListLength()<br>{<br>&nbsp; return length;<br>};<br>template &lt;class ElemType&gt; ElemType SqList&lt;ElemType&gt;::GetElem(int n)<br>{<br>&nbsp;ElemType e;<br>&nbsp; if(length==0) return ERROR;<br>&nbsp; if(n&lt;1||n&gt;ListLength()) return OVERFLOW;<br>&nbsp; e=elem[n-1];<br>&nbsp; return e;<br>};<br>template &lt;class ElemType&gt; Status SqList&lt;ElemType&gt;::NextElem(ElemType loc_e,ElemType &amp;next_e)<br>{<br>&nbsp; if(length==0) return ERROR;<br>&nbsp; for(int i=1;loc_e!=elem[i-1];i++);<br>&nbsp; if(i==length) return OVERFLOW;<br>&nbsp; next_e=elem[i];<br>&nbsp; return OK;<br>};<br>template &lt;class ElemType&gt; Status SqList&lt;ElemType&gt;::ListInsert(int i,ElemType e)<br>{<br>&nbsp; if(i&lt;1||i&gt;length)&nbsp; return ERROR;<br>&nbsp; if(listsize==length) return OVERFLOW;<br>&nbsp; for(int n=length-1;n&gt;=i-1;n--)<br>&nbsp;&nbsp; elem[n+1]=elem[n];<br>&nbsp; elem[i-1]=e;<br>&nbsp; length++;<br>&nbsp; return OK;<br>};<br>template &lt;class ElemType&gt; Status SqList&lt;ElemType&gt;::ListDelete(int i,ElemType &amp;e)<br>{<br>&nbsp; if(i&lt;1||i&gt;length)&nbsp; return ERROR;<br>&nbsp; e=elem[i-1];<br>&nbsp; for(int n=i-1;n&lt;length-1;n++)<br>&nbsp;&nbsp; elem[n]=elem[n+1];<br>&nbsp; length--;<br>&nbsp; return OK;<br>};<br>template &lt;class ElemType&gt; Status SqList&lt;ElemType&gt;::inver()<br>{<br>&nbsp; int i,m,n;<br>&nbsp; ElemType temp;<br>&nbsp; n=length;<br>&nbsp; m=n/2;<br>&nbsp; for(i=0;i&lt;m;i++)<br>&nbsp; {<br>&nbsp;&nbsp;&nbsp; temp=elem[i];elem[i]=elem[n-i-1];elem[n-i-1]=temp;<br>&nbsp; }<br>&nbsp; return OK;<br>};<br></p>
<img src ="http://www.cppblog.com/3522021224/aggbug/25758.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/3522021224/" target="_blank"> 星梦情缘</a> 2007-06-07 19:44 <a href="http://www.cppblog.com/3522021224/archive/2007/06/07/25758.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C语言版--复数的实现</title><link>http://www.cppblog.com/3522021224/archive/2007/06/06/25691.html</link><dc:creator> 星梦情缘</dc:creator><author> 星梦情缘</author><pubDate>Wed, 06 Jun 2007 15:42:00 GMT</pubDate><guid>http://www.cppblog.com/3522021224/archive/2007/06/06/25691.html</guid><wfw:comment>http://www.cppblog.com/3522021224/comments/25691.html</wfw:comment><comments>http://www.cppblog.com/3522021224/archive/2007/06/06/25691.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/3522021224/comments/commentRss/25691.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/3522021224/services/trackbacks/25691.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 复数的实现程序&nbsp;&nbsp;<a href='http://www.cppblog.com/3522021224/archive/2007/06/06/25691.html'>阅读全文</a><img src ="http://www.cppblog.com/3522021224/aggbug/25691.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/3522021224/" target="_blank"> 星梦情缘</a> 2007-06-06 23:42 <a href="http://www.cppblog.com/3522021224/archive/2007/06/06/25691.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>