﻿<?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/allennewok/</link><description>AllenNewOK</description><language>zh-cn</language><lastBuildDate>Sat, 04 Apr 2026 10:24:18 GMT</lastBuildDate><pubDate>Sat, 04 Apr 2026 10:24:18 GMT</pubDate><ttl>60</ttl><item><title>多项式的规范化_数据结构_C语言实现</title><link>http://www.cppblog.com/allennewok/archive/2010/09/17/126835.html</link><dc:creator>AllenNewOK</dc:creator><author>AllenNewOK</author><pubDate>Fri, 17 Sep 2010 02:44:00 GMT</pubDate><guid>http://www.cppblog.com/allennewok/archive/2010/09/17/126835.html</guid><wfw:comment>http://www.cppblog.com/allennewok/comments/126835.html</wfw:comment><comments>http://www.cppblog.com/allennewok/archive/2010/09/17/126835.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/allennewok/comments/commentRss/126835.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/allennewok/services/trackbacks/126835.html</trackback:ping><description><![CDATA[多项式的规范化，采用单链表，使用C语言实现，gcc调试通过。<br><br>
<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #008080;">&nbsp;&nbsp;1</span>&nbsp;<span style="color: #008000;">//</span><span style="color: #008000;">该程序是为了将无序的、不规范的多项式进行规范化而写的。</span><span style="color: #008000;"><br></span><span style="color: #008080;">&nbsp;&nbsp;2</span>&nbsp;<span style="color: #008000;"></span><span style="color: #000000;">#include</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">stdio.h</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;&nbsp;3</span>&nbsp;<span style="color: #000000;">#include</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">stdlib.h</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;&nbsp;4</span>&nbsp;<span style="color: #000000;"></span><span style="color: #0000ff;">#define</span><span style="color: #000000;">&nbsp;N&nbsp;8&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">指明多项式数据项的数目</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;&nbsp;5</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;&nbsp;6</span>&nbsp;<span style="color: #000000;"></span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;GetLength();&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">获得单链表的长度</span><span style="color: #008000;"><br></span><span style="color: #008080;">&nbsp;&nbsp;7</span>&nbsp;<span style="color: #008000;"></span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;Print();&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">打印出单链表的节点数据</span><span style="color: #008000;"><br></span><span style="color: #008080;">&nbsp;&nbsp;8</span>&nbsp;<span style="color: #008000;"></span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;&nbsp;9</span>&nbsp;<span style="color: #000000;">typedef&nbsp;</span><span style="color: #0000ff;">struct</span><span style="color: #000000;">&nbsp;multinomialnode&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">定义存储多项式数据项的节点的结构体</span><span style="color: #008000;"><br></span><span style="color: #008080;">&nbsp;10</span>&nbsp;<span style="color: #008000;"></span><span style="color: #000000;">{<br></span><span style="color: #008080;">&nbsp;11</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;coefficient,power;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">定义系数和幂</span><span style="color: #008000;"><br></span><span style="color: #008080;">&nbsp;12</span>&nbsp;<span style="color: #008000;"></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">struct</span><span style="color: #000000;">&nbsp;multinomialnode&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">next;<br></span><span style="color: #008080;">&nbsp;13</span>&nbsp;<span style="color: #000000;">}node;<br></span><span style="color: #008080;">&nbsp;14</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;15</span>&nbsp;<span style="color: #000000;">node&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">Create(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;num)&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">创建存储多项式的链表</span><span style="color: #008000;"><br></span><span style="color: #008080;">&nbsp;16</span>&nbsp;<span style="color: #008000;"></span><span style="color: #000000;">{<br></span><span style="color: #008080;">&nbsp;17</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;i;<br></span><span style="color: #008080;">&nbsp;18</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;node&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">head,</span><span style="color: #000000;">*</span><span style="color: #000000;">pointer,</span><span style="color: #000000;">*</span><span style="color: #000000;">tmp;<br></span><span style="color: #008080;">&nbsp;19</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="color: #008080;">&nbsp;20</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;head</span><span style="color: #000000;">=</span><span style="color: #000000;">(node</span><span style="color: #000000;">*</span><span style="color: #000000;">)malloc(</span><span style="color: #0000ff;">sizeof</span><span style="color: #000000;">(node));<br></span><span style="color: #008080;">&nbsp;21</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(head</span><span style="color: #000000;">!=</span><span style="color: #000000;">NULL)&nbsp;&nbsp;&nbsp;&nbsp;pointer</span><span style="color: #000000;">=</span><span style="color: #000000;">head;<br></span><span style="color: #008080;">&nbsp;22</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="color: #008080;">&nbsp;23</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">请依次输入要处理的多项式元素的系数和幂：\n</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #008080;">&nbsp;24</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(i</span><span style="color: #000000;">=</span><span style="color: #000000;">0</span><span style="color: #000000;">;i</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">num;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)<br></span><span style="color: #008080;">&nbsp;25</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">&nbsp;26</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">请输入第&nbsp;%d&nbsp;个元素的系数和幂：\n</span><span style="color: #000000;">"</span><span style="color: #000000;">,i</span><span style="color: #000000;">+</span><span style="color: #000000;">1</span><span style="color: #000000;">);<br></span><span style="color: #008080;">&nbsp;27</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tmp</span><span style="color: #000000;">=</span><span style="color: #000000;">(node</span><span style="color: #000000;">*</span><span style="color: #000000;">)malloc(</span><span style="color: #0000ff;">sizeof</span><span style="color: #000000;">(node));<br></span><span style="color: #008080;">&nbsp;28</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(tmp</span><span style="color: #000000;">!=</span><span style="color: #000000;">NULL)<br></span><span style="color: #008080;">&nbsp;29</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">&nbsp;30</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scanf(</span><span style="color: #000000;">"</span><span style="color: #000000;">%d%d</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">tmp</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">coefficient,</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">tmp</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">power);<br></span><span style="color: #008080;">&nbsp;31</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tmp</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next</span><span style="color: #000000;">=</span><span style="color: #000000;">NULL;<br></span><span style="color: #008080;">&nbsp;32</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pointer</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next</span><span style="color: #000000;">=</span><span style="color: #000000;">tmp;<br></span><span style="color: #008080;">&nbsp;33</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pointer</span><span style="color: #000000;">=</span><span style="color: #000000;">tmp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="color: #008080;">&nbsp;34</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">&nbsp;35</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">&nbsp;36</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">(head);<br></span><span style="color: #008080;">&nbsp;37</span>&nbsp;<span style="color: #000000;">}<br></span><span style="color: #008080;">&nbsp;38</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;39</span>&nbsp;<span style="color: #000000;">node&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">Standard(node&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">head)&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">对多项式进行规范化的过程</span><span style="color: #008000;"><br></span><span style="color: #008080;">&nbsp;40</span>&nbsp;<span style="color: #008000;"></span><span style="color: #000000;">{<br></span><span style="color: #008080;">&nbsp;41</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;i;<br></span><span style="color: #008080;">&nbsp;42</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;node&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">pointer,</span><span style="color: #000000;">*</span><span style="color: #000000;">pre,</span><span style="color: #000000;">*</span><span style="color: #000000;">cur,</span><span style="color: #000000;">*</span><span style="color: #000000;">tmp,</span><span style="color: #000000;">*</span><span style="color: #000000;">q;<br></span><span style="color: #008080;">&nbsp;43</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="color: #008080;">&nbsp;44</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;pointer</span><span style="color: #000000;">=</span><span style="color: #000000;">head</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">代表用于比较及合并相同幂的节点，也用于条件判断，控制循环</span><span style="color: #008000;"><br></span><span style="color: #008080;">&nbsp;45</span>&nbsp;<span style="color: #008000;"></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;pre</span><span style="color: #000000;">=</span><span style="color: #000000;">pointer;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">代表被比较的节点的上一个节点的指针，用于链接节点的操作，从而构造新的链表</span><span style="color: #008000;"><br></span><span style="color: #008080;">&nbsp;46</span>&nbsp;<span style="color: #008000;"></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;cur</span><span style="color: #000000;">=</span><span style="color: #000000;">pointer</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">代表被比较的节点，也用于条件判断，控制循环</span><span style="color: #008000;"><br></span><span style="color: #008080;">&nbsp;47</span>&nbsp;<span style="color: #008000;"></span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;48</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">while</span><span style="color: #000000;">(pointer</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next</span><span style="color: #000000;">!=</span><span style="color: #000000;">NULL)&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">合并无序多项式中具有相同幂的节点，并将被合并后的节点删除</span><span style="color: #008000;"><br></span><span style="color: #008080;">&nbsp;49</span>&nbsp;<span style="color: #008000;"></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">&nbsp;50</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">while</span><span style="color: #000000;">(cur</span><span style="color: #000000;">!=</span><span style="color: #000000;">NULL)<br></span><span style="color: #008080;">&nbsp;51</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">&nbsp;52</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(pointer</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">power</span><span style="color: #000000;">==</span><span style="color: #000000;">cur</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">power)&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">相等则合并，同时删除被合并过的节点</span><span style="color: #008000;"><br></span><span style="color: #008080;">&nbsp;53</span>&nbsp;<span style="color: #008000;"></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">&nbsp;54</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pointer</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">coefficient</span><span style="color: #000000;">+=</span><span style="color: #000000;">cur</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">coefficient;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">合并具有相同幂的项的系数</span><span style="color: #008000;"><br></span><span style="color: #008080;">&nbsp;55</span>&nbsp;<span style="color: #008000;"></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;q</span><span style="color: #000000;">=</span><span style="color: #000000;">cur;<br></span><span style="color: #008080;">&nbsp;56</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cur</span><span style="color: #000000;">=</span><span style="color: #000000;">cur</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next;<br></span><span style="color: #008080;">&nbsp;57</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pre</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next</span><span style="color: #000000;">=</span><span style="color: #000000;">cur;<br></span><span style="color: #008080;">&nbsp;58</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;free(q);&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">释放内存</span><span style="color: #008000;"><br></span><span style="color: #008080;">&nbsp;59</span>&nbsp;<span style="color: #008000;"></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">&nbsp;60</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">不等则指向被比较的节点及其上一节点的指针均后移</span><span style="color: #008000;"><br></span><span style="color: #008080;">&nbsp;61</span>&nbsp;<span style="color: #008000;"></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">&nbsp;62</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cur</span><span style="color: #000000;">=</span><span style="color: #000000;">cur</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next;<br></span><span style="color: #008080;">&nbsp;63</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pre</span><span style="color: #000000;">=</span><span style="color: #000000;">pre</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next;<br></span><span style="color: #008080;">&nbsp;64</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">&nbsp;65</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">&nbsp;66</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pointer</span><span style="color: #000000;">=</span><span style="color: #000000;">pointer</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">后移</span><span style="color: #008000;"><br></span><span style="color: #008080;">&nbsp;67</span>&nbsp;<span style="color: #008000;"></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pre</span><span style="color: #000000;">=</span><span style="color: #000000;">pointer;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">重新初始化</span><span style="color: #008000;"><br></span><span style="color: #008080;">&nbsp;68</span>&nbsp;<span style="color: #008000;"></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cur</span><span style="color: #000000;">=</span><span style="color: #000000;">pointer</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">重新初始化</span><span style="color: #008000;"><br></span><span style="color: #008080;">&nbsp;69</span>&nbsp;<span style="color: #008000;"></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">&nbsp;70</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="color: #008080;">&nbsp;71</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;Print(head);&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">打印出上面while以后构造成的多项式</span><span style="color: #008000;"><br></span><span style="color: #008080;">&nbsp;72</span>&nbsp;<span style="color: #008000;"></span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;73</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(i</span><span style="color: #000000;">=</span><span style="color: #000000;">0</span><span style="color: #000000;">;i</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">GetLength(head);i</span><span style="color: #000000;">++</span><span style="color: #000000;">)&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">将上一步while完成以后得到多项式进一步规范化，使之按数据项的幂由大到小依次排列</span><span style="color: #008000;"><br></span><span style="color: #008080;">&nbsp;74</span>&nbsp;<span style="color: #008000;"></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">&nbsp;75</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pre</span><span style="color: #000000;">=</span><span style="color: #000000;">head;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">代表指向当前节点的指针的上一指针，用于交换节点的操作</span><span style="color: #008000;"><br></span><span style="color: #008080;">&nbsp;76</span>&nbsp;<span style="color: #008000;"></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cur</span><span style="color: #000000;">=</span><span style="color: #000000;">head</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">代表指向当前节点的指针，用于比较</span><span style="color: #008000;"><br></span><span style="color: #008080;">&nbsp;77</span>&nbsp;<span style="color: #008000;"></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tmp</span><span style="color: #000000;">=</span><span style="color: #000000;">cur</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">代表指向当前节点的下一节点的指针，用于比较和条件判断</span><span style="color: #008000;"><br></span><span style="color: #008080;">&nbsp;78</span>&nbsp;<span style="color: #008000;"></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="color: #008080;">&nbsp;79</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">while</span><span style="color: #000000;">(tmp</span><span style="color: #000000;">!=</span><span style="color: #000000;">NULL)<br></span><span style="color: #008080;">&nbsp;80</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">&nbsp;81</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(cur</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">power</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">tmp</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">power)&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">如果当前数据项的幂小于其后紧邻的数据项的幂，则交换两个节点在链表中的位置，然后改变指针使重新指向</span><span style="color: #008000;"><br></span><span style="color: #008080;">&nbsp;82</span>&nbsp;<span style="color: #008000;"></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">&nbsp;83</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pre</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next</span><span style="color: #000000;">=</span><span style="color: #000000;">tmp;<br></span><span style="color: #008080;">&nbsp;84</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cur</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next</span><span style="color: #000000;">=</span><span style="color: #000000;">tmp</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next;<br></span><span style="color: #008080;">&nbsp;85</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tmp</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next</span><span style="color: #000000;">=</span><span style="color: #000000;">cur;<br></span><span style="color: #008080;">&nbsp;86</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="color: #008080;">&nbsp;87</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pre</span><span style="color: #000000;">=</span><span style="color: #000000;">tmp;<br></span><span style="color: #008080;">&nbsp;88</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tmp</span><span style="color: #000000;">=</span><span style="color: #000000;">cur</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next;<br></span><span style="color: #008080;">&nbsp;89</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">&nbsp;90</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">如果条件相反的话，直接后移这三个指针</span><span style="color: #008000;"><br></span><span style="color: #008080;">&nbsp;91</span>&nbsp;<span style="color: #008000;"></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">&nbsp;92</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pre</span><span style="color: #000000;">=</span><span style="color: #000000;">pre</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next;<br></span><span style="color: #008080;">&nbsp;93</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cur</span><span style="color: #000000;">=</span><span style="color: #000000;">cur</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next;<br></span><span style="color: #008080;">&nbsp;94</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tmp</span><span style="color: #000000;">=</span><span style="color: #000000;">tmp</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next;<br></span><span style="color: #008080;">&nbsp;95</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">&nbsp;96</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">&nbsp;97</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">&nbsp;98</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;99</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">(head);<br></span><span style="color: #008080;">100</span>&nbsp;<span style="color: #000000;">}<br></span><span style="color: #008080;">101</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">102</span>&nbsp;<span style="color: #000000;"></span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;GetLength(node&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">head)&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">获得单链表的长度</span><span style="color: #008000;"><br></span><span style="color: #008080;">103</span>&nbsp;<span style="color: #008000;"></span><span style="color: #000000;">{<br></span><span style="color: #008080;">104</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;i</span><span style="color: #000000;">=</span><span style="color: #000000;">0</span><span style="color: #000000;">;<br></span><span style="color: #008080;">105</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;node&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">pointer;<br></span><span style="color: #008080;">106</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;pointer</span><span style="color: #000000;">=</span><span style="color: #000000;">head</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next;<br></span><span style="color: #008080;">107</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">108</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">while</span><span style="color: #000000;">(pointer</span><span style="color: #000000;">!=</span><span style="color: #000000;">NULL)<br></span><span style="color: #008080;">109</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">110</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i</span><span style="color: #000000;">++</span><span style="color: #000000;">;<br></span><span style="color: #008080;">111</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pointer</span><span style="color: #000000;">=</span><span style="color: #000000;">pointer</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next;<br></span><span style="color: #008080;">112</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">113</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;i;<br></span><span style="color: #008080;">114</span>&nbsp;<span style="color: #000000;">}<br></span><span style="color: #008080;">115</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">116</span>&nbsp;<span style="color: #000000;"></span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;Print(node&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">head)&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">打印出单链表的节点数据</span><span style="color: #008000;"><br></span><span style="color: #008080;">117</span>&nbsp;<span style="color: #008000;"></span><span style="color: #000000;">{<br></span><span style="color: #008080;">118</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;i</span><span style="color: #000000;">=</span><span style="color: #000000;">0</span><span style="color: #000000;">;<br></span><span style="color: #008080;">119</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;node&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">pointer;<br></span><span style="color: #008080;">120</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;pointer</span><span style="color: #000000;">=</span><span style="color: #000000;">head</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next;<br></span><span style="color: #008080;">121</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="color: #008080;">122</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">\n新的多项式系数和幂表示如下：\n</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #008080;">123</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">while</span><span style="color: #000000;">(pointer</span><span style="color: #000000;">!=</span><span style="color: #000000;">NULL)<br></span><span style="color: #008080;">124</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">125</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i</span><span style="color: #000000;">++</span><span style="color: #000000;">;<br></span><span style="color: #008080;">126</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">第&nbsp;%d&nbsp;个数据元素的系数为：%d,幂为：%d\n</span><span style="color: #000000;">"</span><span style="color: #000000;">,i,pointer</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">coefficient,pointer</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">power);<br></span><span style="color: #008080;">127</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pointer</span><span style="color: #000000;">=</span><span style="color: #000000;">pointer</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next;<br></span><span style="color: #008080;">128</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">129</span>&nbsp;<span style="color: #000000;">}<br></span><span style="color: #008080;">130</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">131</span>&nbsp;<span style="color: #000000;"></span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;main()<br></span><span style="color: #008080;">132</span>&nbsp;<span style="color: #000000;">{<br></span><span style="color: #008080;">133</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;node&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">multinomial;<br></span><span style="color: #008080;">134</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;multinomial</span><span style="color: #000000;">=</span><span style="color: #000000;">Create(N);<br></span><span style="color: #008080;">135</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;Print(multinomial);<br></span><span style="color: #008080;">136</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">137</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;multinomial</span><span style="color: #000000;">=</span><span style="color: #000000;">Standard(multinomial);<br></span><span style="color: #008080;">138</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;Print(multinomial);<br></span><span style="color: #008080;">139</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">140</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;<br></span><span style="color: #008080;">141</span>&nbsp;<span style="color: #000000;">}<br></span><span style="color: #008080;">142</span>&nbsp;<span style="color: #000000;"></span></div>
<br><br><br>调试环境：Ubuntu Desktop 8.04.4&nbsp;&nbsp;&nbsp; VI 7.1.138&nbsp;&nbsp;&nbsp; GCC 4.2.4<br>QQ：81064483<br>E-mail：AllenNewOK@126.com<br><br>复习之用，不足之处，烦请高手们指教。&lt; ^_^ &gt;<br><br>      <img src ="http://www.cppblog.com/allennewok/aggbug/126835.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/allennewok/" target="_blank">AllenNewOK</a> 2010-09-17 10:44 <a href="http://www.cppblog.com/allennewok/archive/2010/09/17/126835.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>单链表的创建、计数打印、删除节点、增加节点和逆序操作</title><link>http://www.cppblog.com/allennewok/archive/2010/09/12/126475.html</link><dc:creator>AllenNewOK</dc:creator><author>AllenNewOK</author><pubDate>Sun, 12 Sep 2010 10:03:00 GMT</pubDate><guid>http://www.cppblog.com/allennewok/archive/2010/09/12/126475.html</guid><wfw:comment>http://www.cppblog.com/allennewok/comments/126475.html</wfw:comment><comments>http://www.cppblog.com/allennewok/archive/2010/09/12/126475.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/allennewok/comments/commentRss/126475.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/allennewok/services/trackbacks/126475.html</trackback:ping><description><![CDATA[单链表的创建、计数打印、删除节点、增加节点和逆序操作，是在上一篇的基础上完善了逆序操作，gcc编译通过。<br><br>
<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #008080;">&nbsp;&nbsp;1</span>&nbsp;<span style="color: #000000;">#include</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">stdio.h</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;&nbsp;2</span>&nbsp;<span style="color: #000000;">#include</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">stdlib.h</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">使用到其中的malloc和exit函数</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;&nbsp;3</span>&nbsp;<span style="color: #000000;"></span><span style="color: #0000ff;">#define</span><span style="color: #000000;">&nbsp;times&nbsp;4&nbsp;&nbsp;/*用于循环次数的控制*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;&nbsp;4</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;&nbsp;5</span>&nbsp;<span style="color: #000000;"></span><span style="color: #0000ff;">static</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;N</span><span style="color: #000000;">=</span><span style="color: #000000;">4</span><span style="color: #000000;">;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">静态全局变量，用于控制单链表长度</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;&nbsp;6</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;&nbsp;7</span>&nbsp;<span style="color: #000000;">typedef&nbsp;</span><span style="color: #0000ff;">struct</span><span style="color: #000000;">&nbsp;_person<br></span><span style="color: #008080;">&nbsp;&nbsp;8</span>&nbsp;<span style="color: #000000;">{<br></span><span style="color: #008080;">&nbsp;&nbsp;9</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">char</span><span style="color: #000000;">&nbsp;name[</span><span style="color: #000000;">12</span><span style="color: #000000;">];<br></span><span style="color: #008080;">&nbsp;10</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;age;<br></span><span style="color: #008080;">&nbsp;11</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">struct</span><span style="color: #000000;">&nbsp;_person&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">next;<br></span><span style="color: #008080;">&nbsp;12</span>&nbsp;<span style="color: #000000;">}stud;<br></span><span style="color: #008080;">&nbsp;13</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;14</span>&nbsp;<span style="color: #000000;">stud&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">Create(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;num)&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">创建单链表的函数，num为单链表的长度</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;15</span>&nbsp;<span style="color: #000000;">{<br></span><span style="color: #008080;">&nbsp;16</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;i;<br></span><span style="color: #008080;">&nbsp;17</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;stud&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">h,</span><span style="color: #000000;">*</span><span style="color: #000000;">p,</span><span style="color: #000000;">*</span><span style="color: #000000;">q;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;h为头指针，指向单链表的第一个节点</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;18</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;h</span><span style="color: #000000;">=</span><span style="color: #000000;">(stud</span><span style="color: #000000;">*</span><span style="color: #000000;">)malloc(</span><span style="color: #0000ff;">sizeof</span><span style="color: #000000;">(stud));<br></span><span style="color: #008080;">&nbsp;19</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(h</span><span style="color: #000000;">!=</span><span style="color: #000000;">NULL)<br></span><span style="color: #008080;">&nbsp;20</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">&nbsp;21</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p</span><span style="color: #000000;">=</span><span style="color: #000000;">h;<br></span><span style="color: #008080;">&nbsp;22</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(i</span><span style="color: #000000;">=</span><span style="color: #000000;">0</span><span style="color: #000000;">;i</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">num;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)<br></span><span style="color: #008080;">&nbsp;23</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">&nbsp;24</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;q</span><span style="color: #000000;">=</span><span style="color: #000000;">(stud</span><span style="color: #000000;">*</span><span style="color: #000000;">)malloc(</span><span style="color: #0000ff;">sizeof</span><span style="color: #000000;">(stud));&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;q为指向新建节点的指针</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;25</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(q</span><span style="color: #000000;">!=</span><span style="color: #000000;">NULL)<br></span><span style="color: #008080;">&nbsp;26</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">&nbsp;27</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">依次输入第%d个人的姓名和年龄：\n</span><span style="color: #000000;">"</span><span style="color: #000000;">,i</span><span style="color: #000000;">+</span><span style="color: #000000;">1</span><span style="color: #000000;">);<br></span><span style="color: #008080;">&nbsp;28</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scanf(</span><span style="color: #000000;">"</span><span style="color: #000000;">%s%d</span><span style="color: #000000;">"</span><span style="color: #000000;">,q</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">name,</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">q</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">age);<br></span><span style="color: #008080;">&nbsp;29</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;q</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next</span><span style="color: #000000;">=</span><span style="color: #000000;">NULL;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">创建新节点完毕</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;30</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next</span><span style="color: #000000;">=</span><span style="color: #000000;">q;<br></span><span style="color: #008080;">&nbsp;31</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p</span><span style="color: #000000;">=</span><span style="color: #000000;">q;<br></span><span style="color: #008080;">&nbsp;32</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">&nbsp;33</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">&nbsp;34</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">&nbsp;35</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">\n</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #008080;">&nbsp;36</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">(h);<br></span><span style="color: #008080;">&nbsp;37</span>&nbsp;<span style="color: #000000;">}<br></span><span style="color: #008080;">&nbsp;38</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;39</span>&nbsp;<span style="color: #000000;">stud&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">Delete(stud&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">person,</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;post)&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">删除单链表指定位置节点的函数</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;40</span>&nbsp;<span style="color: #000000;">{<br></span><span style="color: #008080;">&nbsp;41</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;i;<br></span><span style="color: #008080;">&nbsp;42</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;stud&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">cur,</span><span style="color: #000000;">*</span><span style="color: #000000;">pre;<br></span><span style="color: #008080;">&nbsp;43</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;cur</span><span style="color: #000000;">=</span><span style="color: #000000;">person;<br></span><span style="color: #008080;">&nbsp;44</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;45</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(</span><span style="color: #000000;">0</span><span style="color: #000000;">==</span><span style="color: #000000;">post)&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">如果输入的值为0，则不删除任何节点</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;46</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">&nbsp;47</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">\n注意：您决定不删除任何节点！！！\n\n</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #008080;">&nbsp;48</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">(person);<br></span><span style="color: #008080;">&nbsp;49</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">&nbsp;50</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(post</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">N</span><span style="color: #000000;">||</span><span style="color: #000000;">post</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">0</span><span style="color: #000000;">)&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">如果输入的值大于单链表长度或者小于0，程序结束</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;51</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">&nbsp;52</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">输入有误，程序终止。\n</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #008080;">&nbsp;53</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(</span><span style="color: #000000;">1</span><span style="color: #000000;">);<br></span><span style="color: #008080;">&nbsp;54</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">&nbsp;55</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;56</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">&nbsp;57</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(</span><span style="color: #000000;">1</span><span style="color: #000000;">==</span><span style="color: #000000;">post)&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">在单链表头部删除的情况</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;58</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">&nbsp;59</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cur</span><span style="color: #000000;">=</span><span style="color: #000000;">cur</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next;<br></span><span style="color: #008080;">&nbsp;60</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;person</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next</span><span style="color: #000000;">=</span><span style="color: #000000;">cur</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next;<br></span><span style="color: #008080;">&nbsp;61</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;free(cur);<br></span><span style="color: #008080;">&nbsp;62</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">&nbsp;63</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">在其它位置删除的情况</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;64</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">&nbsp;65</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(i</span><span style="color: #000000;">=</span><span style="color: #000000;">2</span><span style="color: #000000;">;i</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">post</span><span style="color: #000000;">+</span><span style="color: #000000;">1</span><span style="color: #000000;">;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">使pre成为要插入位置的上一位置的节点</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;66</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">&nbsp;67</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cur</span><span style="color: #000000;">=</span><span style="color: #000000;">cur</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next;<br></span><span style="color: #008080;">&nbsp;68</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pre</span><span style="color: #000000;">=</span><span style="color: #000000;">cur;<br></span><span style="color: #008080;">&nbsp;69</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">&nbsp;70</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cur</span><span style="color: #000000;">=</span><span style="color: #000000;">cur</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next;<br></span><span style="color: #008080;">&nbsp;71</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pre</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next</span><span style="color: #000000;">=</span><span style="color: #000000;">cur</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next;<br></span><span style="color: #008080;">&nbsp;72</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;free(cur);<br></span><span style="color: #008080;">&nbsp;73</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">&nbsp;74</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">(person);<br></span><span style="color: #008080;">&nbsp;75</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">&nbsp;76</span>&nbsp;<span style="color: #000000;">}<br></span><span style="color: #008080;">&nbsp;77</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;78</span>&nbsp;<span style="color: #000000;">stud&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">Insert(stud&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">person,</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;post)&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">在单链表指定位置插入新的节点的函数</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;79</span>&nbsp;<span style="color: #000000;">{<br></span><span style="color: #008080;">&nbsp;80</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;i;<br></span><span style="color: #008080;">&nbsp;81</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;stud&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">cur,</span><span style="color: #000000;">*</span><span style="color: #000000;">pre,</span><span style="color: #000000;">*</span><span style="color: #000000;">node;<br></span><span style="color: #008080;">&nbsp;82</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="color: #008080;">&nbsp;83</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(post</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">N</span><span style="color: #000000;">+</span><span style="color: #000000;">1</span><span style="color: #000000;">||</span><span style="color: #000000;">post</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">1</span><span style="color: #000000;">)&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">如果输入的值大于单链表长度加1或者小于1，程序结束</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;84</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">&nbsp;85</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">输入错误，程序终止。\n</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #008080;">&nbsp;86</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(</span><span style="color: #000000;">1</span><span style="color: #000000;">);<br></span><span style="color: #008080;">&nbsp;87</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">&nbsp;88</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;89</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(person</span><span style="color: #000000;">!=</span><span style="color: #000000;">NULL)<br></span><span style="color: #008080;">&nbsp;90</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">&nbsp;91</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cur</span><span style="color: #000000;">=</span><span style="color: #000000;">person;<br></span><span style="color: #008080;">&nbsp;92</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;node</span><span style="color: #000000;">=</span><span style="color: #000000;">(stud</span><span style="color: #000000;">*</span><span style="color: #000000;">)malloc(</span><span style="color: #0000ff;">sizeof</span><span style="color: #000000;">(stud));<br></span><span style="color: #008080;">&nbsp;93</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(node</span><span style="color: #000000;">!=</span><span style="color: #000000;">NULL)<br></span><span style="color: #008080;">&nbsp;94</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">&nbsp;95</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">请输入新人的姓名和年龄：\n</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #008080;">&nbsp;96</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scanf(</span><span style="color: #000000;">"</span><span style="color: #000000;">%s%d</span><span style="color: #000000;">"</span><span style="color: #000000;">,node</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">name,</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">node</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">age);&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">为新的节点输入数据内容</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;97</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;98</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(</span><span style="color: #000000;">1</span><span style="color: #000000;">==</span><span style="color: #000000;">post)<br></span><span style="color: #008080;">&nbsp;99</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">100</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;node</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next</span><span style="color: #000000;">=</span><span style="color: #000000;">person</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next;<br></span><span style="color: #008080;">101</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;person</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next</span><span style="color: #000000;">=</span><span style="color: #000000;">node;<br></span><span style="color: #008080;">102</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">103</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;"><br></span><span style="color: #008080;">104</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">105</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(i</span><span style="color: #000000;">=</span><span style="color: #000000;">2</span><span style="color: #000000;">;i</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">post</span><span style="color: #000000;">+</span><span style="color: #000000;">2</span><span style="color: #000000;">;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)<br></span><span style="color: #008080;">106</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">107</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pre</span><span style="color: #000000;">=</span><span style="color: #000000;">cur;<br></span><span style="color: #008080;">108</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cur</span><span style="color: #000000;">=</span><span style="color: #000000;">cur</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next;<br></span><span style="color: #008080;">109</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">110</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;node</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next</span><span style="color: #000000;">=</span><span style="color: #000000;">pre</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next;<br></span><span style="color: #008080;">111</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pre</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next</span><span style="color: #000000;">=</span><span style="color: #000000;">node;<br></span><span style="color: #008080;">112</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="color: #008080;">113</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">114</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">115</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">116</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">\n</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #008080;">117</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">(person);<br></span><span style="color: #008080;">118</span>&nbsp;<span style="color: #000000;">}<br></span><span style="color: #008080;">119</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">120</span>&nbsp;<span style="color: #000000;">stud&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">Reverse(stud&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">person)&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">对单链表进行逆序操作的函数</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">121</span>&nbsp;<span style="color: #000000;">{<br></span><span style="color: #008080;">122</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;stud&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">cur,</span><span style="color: #000000;">*</span><span style="color: #000000;">tmp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">cur将代表逆序后单链表的第一个节点<br></span><span style="color: #008080;">123</span>&nbsp;<span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">tmp代表原单链表中cur之后紧邻的节点，起交换作用</span><span style="color: #008000;"><br></span><span style="color: #008080;">124</span>&nbsp;<span style="color: #008000;"></span><span style="color: #000000;"><br></span><span style="color: #008080;">125</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(person</span><span style="color: #000000;">!=</span><span style="color: #000000;">NULL)<br></span><span style="color: #008080;">126</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">127</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cur</span><span style="color: #000000;">=</span><span style="color: #000000;">person</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next;<br></span><span style="color: #008080;">128</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;person</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next</span><span style="color: #000000;">=</span><span style="color: #000000;">NULL;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">将原单链表置空</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">129</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="color: #008080;">130</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">while</span><span style="color: #000000;">(cur</span><span style="color: #000000;">!=</span><span style="color: #000000;">NULL)&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">如果cur不为NULL</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">131</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">132</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tmp</span><span style="color: #000000;">=</span><span style="color: #000000;">cur</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">把当前节点的下一个节点赋给tmp&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">133</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cur</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next</span><span style="color: #000000;">=</span><span style="color: #000000;">person</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">若当前节点为原链表中的第一个节点，则使其next指向NULL<br></span><span style="color: #008080;">134</span>&nbsp;<span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">否则使其next指向原链表中当前节点的上一个节点，也就是正在逆序中的第一个节点</span><span style="color: #008000;"><br></span><span style="color: #008080;">135</span>&nbsp;<span style="color: #008000;"></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;person</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next</span><span style="color: #000000;">=</span><span style="color: #000000;">cur;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">使头指针指向当前节点</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">136</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cur</span><span style="color: #000000;">=</span><span style="color: #000000;">tmp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">把原cur的下一个节点赋给cur</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">137</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">138</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="color: #008080;">139</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">140</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">(person);<br></span><span style="color: #008080;">141</span>&nbsp;<span style="color: #000000;">}<br></span><span style="color: #008080;">142</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">143</span>&nbsp;<span style="color: #000000;"></span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;Print(stud&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">person)<br></span><span style="color: #008080;">144</span>&nbsp;<span style="color: #000000;">{<br></span><span style="color: #008080;">145</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;post</span><span style="color: #000000;">=</span><span style="color: #000000;">1</span><span style="color: #000000;">;<br></span><span style="color: #008080;">146</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;stud&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">cur;<br></span><span style="color: #008080;">147</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;cur</span><span style="color: #000000;">=</span><span style="color: #000000;">person</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next;<br></span><span style="color: #008080;">148</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">当前的节点信息如下所示：\n</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #008080;">149</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">while</span><span style="color: #000000;">(cur</span><span style="color: #000000;">!=</span><span style="color: #000000;">NULL)<br></span><span style="color: #008080;">150</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">151</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">第%d个人的姓名是：%s，年龄为：%d\n</span><span style="color: #000000;">"</span><span style="color: #000000;">,post,cur</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">name,cur</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">age);<br></span><span style="color: #008080;">152</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cur</span><span style="color: #000000;">=</span><span style="color: #000000;">cur</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next;<br></span><span style="color: #008080;">153</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;post</span><span style="color: #000000;">++</span><span style="color: #000000;">;<br></span><span style="color: #008080;">154</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">155</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;N</span><span style="color: #000000;">=--</span><span style="color: #000000;">post;<br></span><span style="color: #008080;">156</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">当前单链表的长度是：%d\n\n</span><span style="color: #000000;">"</span><span style="color: #000000;">,N);<br></span><span style="color: #008080;">157</span>&nbsp;<span style="color: #000000;">}<br></span><span style="color: #008080;">158</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">159</span>&nbsp;<span style="color: #000000;"></span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;main()<br></span><span style="color: #008080;">160</span>&nbsp;<span style="color: #000000;">{<br></span><span style="color: #008080;">161</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;number,post,i;<br></span><span style="color: #008080;">162</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;stud&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">head;<br></span><span style="color: #008080;">163</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;head</span><span style="color: #000000;">=</span><span style="color: #000000;">Create(N);<br></span><span style="color: #008080;">164</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;Print(head);<br></span><span style="color: #008080;">165</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">166</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(i</span><span style="color: #000000;">=</span><span style="color: #000000;">0</span><span style="color: #000000;">;i</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">times;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)<br></span><span style="color: #008080;">167</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">168</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">请输入要删除的节点的位置：\n</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #008080;">169</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scanf(</span><span style="color: #000000;">"</span><span style="color: #000000;">%d</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">number);<br></span><span style="color: #008080;">170</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Delete(head,number);<br></span><span style="color: #008080;">171</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Print(head);<br></span><span style="color: #008080;">172</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">173</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">请输入要插入节点的位置(此位置是指预期插入成功后新节点在单链表中的位置)：\n</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #008080;">174</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scanf(</span><span style="color: #000000;">"</span><span style="color: #000000;">%d</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">post);<br></span><span style="color: #008080;">175</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Insert(head,post);<br></span><span style="color: #008080;">176</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Print(head);<br></span><span style="color: #008080;">177</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="color: #008080;">178</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">以下展示了两次单链表的逆序！！！\n\n</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #008080;">179</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Print(Reverse(head));<br></span><span style="color: #008080;">180</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Print(Reverse(head));<br></span><span style="color: #008080;">181</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="color: #008080;">182</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">\n注意：剩余输入轮数为：%d&nbsp;&nbsp;！！！！！\n\n</span><span style="color: #000000;">"</span><span style="color: #000000;">,(times</span><span style="color: #000000;">-</span><span style="color: #000000;">(i</span><span style="color: #000000;">+</span><span style="color: #000000;">1</span><span style="color: #000000;">)));<br></span><span style="color: #008080;">183</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">184</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">185</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;<br></span><span style="color: #008080;">186</span>&nbsp;<span style="color: #000000;">}</span></div>
<br><br><br>调试环境：Ubuntu Desktop 8.04.4&nbsp;&nbsp;&nbsp; VI 7.1.138&nbsp;&nbsp;&nbsp; GCC 4.2.4<br>QQ：81064483<br>E-mail：AllenNewOK@126.com<br><br>复习之用，不足之处，敬请指正。&lt; ^_^ &gt;<br><br><br><br>     <img src ="http://www.cppblog.com/allennewok/aggbug/126475.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/allennewok/" target="_blank">AllenNewOK</a> 2010-09-12 18:03 <a href="http://www.cppblog.com/allennewok/archive/2010/09/12/126475.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>单链表的创建、计数打印、删除与插入操作</title><link>http://www.cppblog.com/allennewok/archive/2010/09/12/126453.html</link><dc:creator>AllenNewOK</dc:creator><author>AllenNewOK</author><pubDate>Sun, 12 Sep 2010 05:00:00 GMT</pubDate><guid>http://www.cppblog.com/allennewok/archive/2010/09/12/126453.html</guid><wfw:comment>http://www.cppblog.com/allennewok/comments/126453.html</wfw:comment><comments>http://www.cppblog.com/allennewok/archive/2010/09/12/126453.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/allennewok/comments/commentRss/126453.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/allennewok/services/trackbacks/126453.html</trackback:ping><description><![CDATA[<br>单链表的创建、计数打印、删除与插入操作，提供四轮删除与插入操作，gcc编译通过。
<p>&nbsp;</p>
<p>
</p>
<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #008080;">&nbsp;&nbsp;1</span>&nbsp;<span style="color: #000000;">#include</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">stdio.h</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;&nbsp;2</span>&nbsp;<span style="color: #000000;">#include</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">stdlib.h</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">使用到其中的malloc和exit函数</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;&nbsp;3</span>&nbsp;<span style="color: #000000;"></span><span style="color: #0000ff;">#define</span><span style="color: #000000;">&nbsp;times&nbsp;4&nbsp;&nbsp;/*用于循环次数的控制*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;&nbsp;4</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;&nbsp;5</span>&nbsp;<span style="color: #000000;"></span><span style="color: #0000ff;">static</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;N</span><span style="color: #000000;">=</span><span style="color: #000000;">4</span><span style="color: #000000;">;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">静态全局变量，用于控制单链表长度</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;&nbsp;6</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;&nbsp;7</span>&nbsp;<span style="color: #000000;">typedef&nbsp;</span><span style="color: #0000ff;">struct</span><span style="color: #000000;">&nbsp;_person<br></span><span style="color: #008080;">&nbsp;&nbsp;8</span>&nbsp;<span style="color: #000000;">{<br></span><span style="color: #008080;">&nbsp;&nbsp;9</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">char</span><span style="color: #000000;">&nbsp;name[</span><span style="color: #000000;">12</span><span style="color: #000000;">];<br></span><span style="color: #008080;">&nbsp;10</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;age;<br></span><span style="color: #008080;">&nbsp;11</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">struct</span><span style="color: #000000;">&nbsp;_person&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">next;<br></span><span style="color: #008080;">&nbsp;12</span>&nbsp;<span style="color: #000000;">}stud;<br></span><span style="color: #008080;">&nbsp;13</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;14</span>&nbsp;<span style="color: #000000;">stud&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">Create(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;num)&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">创建单链表的函数，num为单链表的长度</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;15</span>&nbsp;<span style="color: #000000;">{<br></span><span style="color: #008080;">&nbsp;16</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;i;<br></span><span style="color: #008080;">&nbsp;17</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;stud&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">h,</span><span style="color: #000000;">*</span><span style="color: #000000;">p,</span><span style="color: #000000;">*</span><span style="color: #000000;">q;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;h为头指针，指向单链表的第一个节点</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;18</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;h</span><span style="color: #000000;">=</span><span style="color: #000000;">(stud</span><span style="color: #000000;">*</span><span style="color: #000000;">)malloc(</span><span style="color: #0000ff;">sizeof</span><span style="color: #000000;">(stud));<br></span><span style="color: #008080;">&nbsp;19</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(h</span><span style="color: #000000;">!=</span><span style="color: #000000;">NULL)<br></span><span style="color: #008080;">&nbsp;20</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">&nbsp;21</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p</span><span style="color: #000000;">=</span><span style="color: #000000;">h;<br></span><span style="color: #008080;">&nbsp;22</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(i</span><span style="color: #000000;">=</span><span style="color: #000000;">0</span><span style="color: #000000;">;i</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">num;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)<br></span><span style="color: #008080;">&nbsp;23</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">&nbsp;24</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;q</span><span style="color: #000000;">=</span><span style="color: #000000;">(stud</span><span style="color: #000000;">*</span><span style="color: #000000;">)malloc(</span><span style="color: #0000ff;">sizeof</span><span style="color: #000000;">(stud));&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;q为指向新建节点的指针</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;25</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(q</span><span style="color: #000000;">!=</span><span style="color: #000000;">NULL)<br></span><span style="color: #008080;">&nbsp;26</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">&nbsp;27</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">依次输入第%d个人的姓名和年龄：\n</span><span style="color: #000000;">"</span><span style="color: #000000;">,i</span><span style="color: #000000;">+</span><span style="color: #000000;">1</span><span style="color: #000000;">);<br></span><span style="color: #008080;">&nbsp;28</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scanf(</span><span style="color: #000000;">"</span><span style="color: #000000;">%s%d</span><span style="color: #000000;">"</span><span style="color: #000000;">,q</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">name,</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">q</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">age);<br></span><span style="color: #008080;">&nbsp;29</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;q</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next</span><span style="color: #000000;">=</span><span style="color: #000000;">NULL;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">创建新节点完毕</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;30</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next</span><span style="color: #000000;">=</span><span style="color: #000000;">q;<br></span><span style="color: #008080;">&nbsp;31</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p</span><span style="color: #000000;">=</span><span style="color: #000000;">q;<br></span><span style="color: #008080;">&nbsp;32</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">&nbsp;33</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">&nbsp;34</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">&nbsp;35</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">\n</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #008080;">&nbsp;36</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">(h);<br></span><span style="color: #008080;">&nbsp;37</span>&nbsp;<span style="color: #000000;">}<br></span><span style="color: #008080;">&nbsp;38</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;39</span>&nbsp;<span style="color: #000000;">stud&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">Delete(stud&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">person,</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;post)&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">删除单链表指定位置节点的函数</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;40</span>&nbsp;<span style="color: #000000;">{<br></span><span style="color: #008080;">&nbsp;41</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;i;<br></span><span style="color: #008080;">&nbsp;42</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;stud&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">cur,</span><span style="color: #000000;">*</span><span style="color: #000000;">pre;<br></span><span style="color: #008080;">&nbsp;43</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;cur</span><span style="color: #000000;">=</span><span style="color: #000000;">person;<br></span><span style="color: #008080;">&nbsp;44</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;45</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(</span><span style="color: #000000;">0</span><span style="color: #000000;">==</span><span style="color: #000000;">post)&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">如果输入的值为0，则不删除任何节点</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;46</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">&nbsp;47</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">\n注意：您决定不删除任何节点！！！\n\n</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #008080;">&nbsp;48</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">(person);<br></span><span style="color: #008080;">&nbsp;49</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">&nbsp;50</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(post</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">N</span><span style="color: #000000;">||</span><span style="color: #000000;">post</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">0</span><span style="color: #000000;">)&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">如果输入的值大于单链表长度或者小于0，程序结束</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;51</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">&nbsp;52</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">输入有误，程序终止。\n</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #008080;">&nbsp;53</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(</span><span style="color: #000000;">1</span><span style="color: #000000;">);<br></span><span style="color: #008080;">&nbsp;54</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">&nbsp;55</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;56</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">&nbsp;57</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(</span><span style="color: #000000;">1</span><span style="color: #000000;">==</span><span style="color: #000000;">post)&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">在单链表头部删除的情况</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;58</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">&nbsp;59</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cur</span><span style="color: #000000;">=</span><span style="color: #000000;">cur</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next;<br></span><span style="color: #008080;">&nbsp;60</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;person</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next</span><span style="color: #000000;">=</span><span style="color: #000000;">cur</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next;<br></span><span style="color: #008080;">&nbsp;61</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;free(cur);<br></span><span style="color: #008080;">&nbsp;62</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">&nbsp;63</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">在其它位置删除的情况</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;64</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">&nbsp;65</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(i</span><span style="color: #000000;">=</span><span style="color: #000000;">2</span><span style="color: #000000;">;i</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">post</span><span style="color: #000000;">+</span><span style="color: #000000;">1</span><span style="color: #000000;">;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">使pre成为要插入位置的上一位置的节点</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;66</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">&nbsp;67</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cur</span><span style="color: #000000;">=</span><span style="color: #000000;">cur</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next;<br></span><span style="color: #008080;">&nbsp;68</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pre</span><span style="color: #000000;">=</span><span style="color: #000000;">cur;<br></span><span style="color: #008080;">&nbsp;69</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">&nbsp;70</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cur</span><span style="color: #000000;">=</span><span style="color: #000000;">cur</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next;<br></span><span style="color: #008080;">&nbsp;71</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pre</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next</span><span style="color: #000000;">=</span><span style="color: #000000;">cur</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next;<br></span><span style="color: #008080;">&nbsp;72</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;free(cur);<br></span><span style="color: #008080;">&nbsp;73</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">&nbsp;74</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">(person);<br></span><span style="color: #008080;">&nbsp;75</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">&nbsp;76</span>&nbsp;<span style="color: #000000;">}<br></span><span style="color: #008080;">&nbsp;77</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;78</span>&nbsp;<span style="color: #000000;">stud&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">Insert(stud&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">person,</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;post)&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">在单链表指定位置插入新的节点的函数</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;79</span>&nbsp;<span style="color: #000000;">{<br></span><span style="color: #008080;">&nbsp;80</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;i;<br></span><span style="color: #008080;">&nbsp;81</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;stud&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">cur,</span><span style="color: #000000;">*</span><span style="color: #000000;">pre,</span><span style="color: #000000;">*</span><span style="color: #000000;">node;<br></span><span style="color: #008080;">&nbsp;82</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="color: #008080;">&nbsp;83</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(post</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">N</span><span style="color: #000000;">+</span><span style="color: #000000;">1</span><span style="color: #000000;">||</span><span style="color: #000000;">post</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">1</span><span style="color: #000000;">)&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">如果输入的值大于单链表长度加1或者小于1，程序结束</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;84</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">&nbsp;85</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">输入错误，程序终止。\n</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #008080;">&nbsp;86</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(</span><span style="color: #000000;">1</span><span style="color: #000000;">);<br></span><span style="color: #008080;">&nbsp;87</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">&nbsp;88</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;89</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(person</span><span style="color: #000000;">!=</span><span style="color: #000000;">NULL)<br></span><span style="color: #008080;">&nbsp;90</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">&nbsp;91</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cur</span><span style="color: #000000;">=</span><span style="color: #000000;">person;<br></span><span style="color: #008080;">&nbsp;92</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;node</span><span style="color: #000000;">=</span><span style="color: #000000;">(stud</span><span style="color: #000000;">*</span><span style="color: #000000;">)malloc(</span><span style="color: #0000ff;">sizeof</span><span style="color: #000000;">(stud));<br></span><span style="color: #008080;">&nbsp;93</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(node</span><span style="color: #000000;">!=</span><span style="color: #000000;">NULL)<br></span><span style="color: #008080;">&nbsp;94</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">&nbsp;95</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">请输入新人的姓名和年龄：\n</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #008080;">&nbsp;96</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scanf(</span><span style="color: #000000;">"</span><span style="color: #000000;">%s%d</span><span style="color: #000000;">"</span><span style="color: #000000;">,node</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">name,</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">node</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">age);&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">为新的节点输入数据内容</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;97</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;98</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(</span><span style="color: #000000;">1</span><span style="color: #000000;">==</span><span style="color: #000000;">post)<br></span><span style="color: #008080;">&nbsp;99</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">100</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;node</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next</span><span style="color: #000000;">=</span><span style="color: #000000;">person</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next;<br></span><span style="color: #008080;">101</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;person</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next</span><span style="color: #000000;">=</span><span style="color: #000000;">node;<br></span><span style="color: #008080;">102</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">103</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;"><br></span><span style="color: #008080;">104</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">105</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(i</span><span style="color: #000000;">=</span><span style="color: #000000;">2</span><span style="color: #000000;">;i</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">post</span><span style="color: #000000;">+</span><span style="color: #000000;">2</span><span style="color: #000000;">;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)<br></span><span style="color: #008080;">106</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">107</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pre</span><span style="color: #000000;">=</span><span style="color: #000000;">cur;<br></span><span style="color: #008080;">108</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cur</span><span style="color: #000000;">=</span><span style="color: #000000;">cur</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next;<br></span><span style="color: #008080;">109</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">110</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;node</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next</span><span style="color: #000000;">=</span><span style="color: #000000;">pre</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next;<br></span><span style="color: #008080;">111</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pre</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next</span><span style="color: #000000;">=</span><span style="color: #000000;">node;<br></span><span style="color: #008080;">112</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">113</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">114</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">115</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">\n</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #008080;">116</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">(person);<br></span><span style="color: #008080;">117</span>&nbsp;<span style="color: #000000;">}<br></span><span style="color: #008080;">118</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">119</span>&nbsp;<span style="color: #000000;"></span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;Print(stud&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">person)<br></span><span style="color: #008080;">120</span>&nbsp;<span style="color: #000000;">{<br></span><span style="color: #008080;">121</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;post</span><span style="color: #000000;">=</span><span style="color: #000000;">1</span><span style="color: #000000;">;<br></span><span style="color: #008080;">122</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;stud&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">cur;<br></span><span style="color: #008080;">123</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;cur</span><span style="color: #000000;">=</span><span style="color: #000000;">person</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next;<br></span><span style="color: #008080;">124</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">当前的节点信息如下所示：\n</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #008080;">125</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">while</span><span style="color: #000000;">(cur</span><span style="color: #000000;">!=</span><span style="color: #000000;">NULL)<br></span><span style="color: #008080;">126</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">127</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">第%d个人的姓名是：%s，年龄为：%d\n</span><span style="color: #000000;">"</span><span style="color: #000000;">,post,cur</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">name,cur</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">age);<br></span><span style="color: #008080;">128</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cur</span><span style="color: #000000;">=</span><span style="color: #000000;">cur</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">next;<br></span><span style="color: #008080;">129</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;post</span><span style="color: #000000;">++</span><span style="color: #000000;">;<br></span><span style="color: #008080;">130</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">131</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;N</span><span style="color: #000000;">=--</span><span style="color: #000000;">post;<br></span><span style="color: #008080;">132</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">当前单链表的长度是：%d\n\n</span><span style="color: #000000;">"</span><span style="color: #000000;">,N);<br></span><span style="color: #008080;">133</span>&nbsp;<span style="color: #000000;">}<br></span><span style="color: #008080;">134</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">135</span>&nbsp;<span style="color: #000000;"></span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;main()<br></span><span style="color: #008080;">136</span>&nbsp;<span style="color: #000000;">{<br></span><span style="color: #008080;">137</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;number,post,i;<br></span><span style="color: #008080;">138</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;stud&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">head;<br></span><span style="color: #008080;">139</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;head</span><span style="color: #000000;">=</span><span style="color: #000000;">Create(N);<br></span><span style="color: #008080;">140</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;Print(head);<br></span><span style="color: #008080;">141</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">142</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(i</span><span style="color: #000000;">=</span><span style="color: #000000;">0</span><span style="color: #000000;">;i</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">times;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)<br></span><span style="color: #008080;">143</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">144</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">请输入要删除的节点的位置：\n</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #008080;">145</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scanf(</span><span style="color: #000000;">"</span><span style="color: #000000;">%d</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">number);<br></span><span style="color: #008080;">146</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Delete(head,number);<br></span><span style="color: #008080;">147</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Print(head);<br></span><span style="color: #008080;">148</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">149</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">请输入要插入节点的位置(此位置是指预期插入成功后新节点在单链表中的位置)：\n</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #008080;">150</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scanf(</span><span style="color: #000000;">"</span><span style="color: #000000;">%d</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">post);<br></span><span style="color: #008080;">151</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Insert(head,post);<br></span><span style="color: #008080;">152</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Print(head);<br></span><span style="color: #008080;">153</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="color: #008080;">154</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">\n注意：剩余输入轮数为：%d&nbsp;&nbsp;！！！！！\n\n</span><span style="color: #000000;">"</span><span style="color: #000000;">,(times</span><span style="color: #000000;">-</span><span style="color: #000000;">(i</span><span style="color: #000000;">+</span><span style="color: #000000;">1</span><span style="color: #000000;">)));<br></span><span style="color: #008080;">155</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">156</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">157</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;<br></span><span style="color: #008080;">158</span>&nbsp;<span style="color: #000000;">}</span></div>
<p>&nbsp;<br></p>
<br><span style="font-family: 新宋体;">调试环境：Ubuntu Desktop 8.04.4&nbsp;&nbsp; VIM 7.1.138 GCC 4.2.4</span><br style="font-family: 新宋体;"><span style="font-family: 新宋体;">QQ：81064483</span><br style="font-family: 新宋体;"><span style="font-family: 新宋体;">E-mail：AllenNewOK@126.com</span><br style="font-family: 新宋体;"><br style="font-family: 新宋体;"><span style="font-family: 新宋体;">不足之处，敬请指正。&lt; ^_^ &gt;</span><br><br>    <img src ="http://www.cppblog.com/allennewok/aggbug/126453.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/allennewok/" target="_blank">AllenNewOK</a> 2010-09-12 13:00 <a href="http://www.cppblog.com/allennewok/archive/2010/09/12/126453.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>