第四周项目2-建设“单链表”算法库

来源:互联网 发布:稻谷出糙率计算数据 编辑:程序博客网 时间:2024/04/30 22:07

问题及代码:

/*  
* Copyright (c)2016,烟台大学计算机与控制工程学院  
* All rights reserved.  
* 文件名称:项目2.cpp  
* 作    者:董雪 
* 完成日期:2016年9月19日  
* 版 本 号:v1.0   
*问题描述:按照“0207将算法变程序”部分建议的方法,建设自己的专业基础设施算法库。 
        算法库包括两个文件:  
    头文件:linklist.h,包含定义顺序表数据结构的代码、宏定义、要实现算法的函数的声明;  
       源文件:linklist.cpp,包含实现各种算法的函数的定义     
        请采用程序的多文件组织形式,建立如上的两个文件,另外再建立一个源文件(如main.cpp), 
          编制main函数,完成相关的测试工作。测试工作可以采用“渐进”的思路,每次涉及的函数应该尽可能少。  
*输入描述:无  
*程序输出:输出链表  
*/  


1.头文件:linklist.h,包含定义顺序表数据结构的代码、宏定义、要实现算法的函数的声明;

<code class="hljs vala has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">#ifndef LINKLIST_H_INCLUDED</span><span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">#define LINKLIST_H_INCLUDED</span>typedef <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> ElemType;typedef <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">struct</span> LNode        <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//定义单链表结点类型</span>{    ElemType data;    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">struct</span> LNode *next;     <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//指向后继结点</span>}LinkList;<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">void</span> CreateListF(LinkList *&L,ElemType a[],<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> n);<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//头插法建立单链表</span><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">void</span> CreateListR(LinkList *&L,ElemType a[],<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> n);<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//尾插法建立单链表</span><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">void</span> InitList(LinkList *&L);  <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//初始化线性表</span><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">void</span> DestroyList(LinkList *&L);  <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//销毁线性表</span><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">bool</span> ListEmpty(LinkList *L);  <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//判断线性表是否为空</span><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> ListLength(LinkList *L);  <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//求线性表长度</span><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">void</span> DispList(LinkList *L);  <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//输出线性表</span><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">bool</span> GetElem(LinkList *L,<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> i,ElemType &e);  <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//求线性表某个数据元素值</span><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> LocateElem(LinkList *L,ElemType e);  <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//按元素值查找</span><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">bool</span> ListInsert(LinkList *&L,<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> i,ElemType e);  <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//插入数据元素</span><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">bool</span> ListDelete(LinkList *&L,<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> i,ElemType &e);  <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//删除数据元素</span><span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">#endif // LINKLIST_H_INCLUDED</span></code>

<ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li></ul>

  2.源文件:linklist.cpp,包含实现各种算法的函数的定义

<code class="hljs objectivec has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">#include <stdio.h></span><span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">#include <malloc.h></span><span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">#include "linklist.h"</span><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">void</span> CreateListF(LinkList *&L,ElemType a[],<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> n)<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//头插法建立单链表</span>{    LinkList *s;    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> i;    L=(LinkList *)malloc(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">sizeof</span>(LinkList));     <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//创建头结点</span>    L->next=<span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">NULL</span>;    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">for</span> (i=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>; i<n; i++)    {        s=(LinkList *)malloc(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">sizeof</span>(LinkList));<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//创建新结点</span>        s->data=a[i];        s->next=L->next;            <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//将*s插在原开始结点之前,头结点之后</span>        L->next=s;    }}<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">void</span> CreateListR(LinkList *&L,ElemType a[],<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> n)<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//尾插法建立单链表</span>{    LinkList *s,*r;    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> i;    L=(LinkList *)malloc(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">sizeof</span>(LinkList));     <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//创建头结点</span>    L->next=<span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">NULL</span>;    r=L;                    <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//r始终指向终端结点,开始时指向头结点</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">for</span> (i=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>; i<n; i++)    {        s=(LinkList *)malloc(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">sizeof</span>(LinkList));<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//创建新结点</span>        s->data=a[i];        r->next=s;          <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//将*s插入*r之后</span>        r=s;    }    r->next=<span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">NULL</span>;           <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//终端结点next域置为NULL</span>}<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">void</span> InitList(LinkList *&L){    L=(LinkList *)malloc(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">sizeof</span>(LinkList));     <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//创建头结点</span>    L->next=<span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">NULL</span>;}<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">void</span> DestroyList(LinkList *&L){    LinkList *p=L,*q=p->next;    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">while</span> (q!=<span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">NULL</span>)    {        free(p);        p=q;        q=p->next;    }    free(p);    <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//此时q为NULL,p指向尾结点,释放它</span>}<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">bool</span> ListEmpty(LinkList *L){    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">return</span>(L->next==<span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">NULL</span>);}<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> ListLength(LinkList *L){    LinkList *p=L;    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> i=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">while</span> (p->next!=<span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">NULL</span>)    {        i++;        p=p->next;    }    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">return</span>(i);}<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">void</span> DispList(LinkList *L){    LinkList *p=L->next;    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">while</span> (p!=<span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">NULL</span>)    {        printf(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"%d "</span>,p->data);        p=p->next;    }    printf(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"\n"</span>);}<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">bool</span> GetElem(LinkList *L,<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> i,ElemType &e){    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> j=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;    LinkList *p=L;    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">while</span> (j<i && p!=<span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">NULL</span>)    {        j++;        p=p->next;    }    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span> (p==<span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">NULL</span>)            <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//不存在第i个数据结点</span>        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">return</span> <span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">false</span>;    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">else</span>                    <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//存在第i个数据结点</span>    {        e=p->data;        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">return</span> <span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">true</span>;    }}<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> LocateElem(LinkList *L,ElemType e){    LinkList *p=L->next;    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> n=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>;    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">while</span> (p!=<span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">NULL</span> && p->data!=e)    {        p=p->next;        n++;    }    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span> (p==<span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">NULL</span>)        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">return</span>(<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>);    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">else</span>        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">return</span>(n);}<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">bool</span> ListInsert(LinkList *&L,<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> i,ElemType e){    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> j=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;    LinkList *p=L,*s;    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">while</span> (j<i-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span> && p!=<span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">NULL</span>) <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//查找第i-1个结点</span>    {        j++;        p=p->next;    }    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span> (p==<span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">NULL</span>)    <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//未找到位序为i-1的结点</span>        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">return</span> <span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">false</span>;    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">else</span>            <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//找到位序为i-1的结点*p</span>    {        s=(LinkList *)malloc(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">sizeof</span>(LinkList));<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//创建新结点*s</span>        s->data=e;        s->next=p->next;                        <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//将*s插入到*p之后</span>        p->next=s;        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">return</span> <span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">true</span>;    }}<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">bool</span> ListDelete(LinkList *&L,<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> i,ElemType &e){    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> j=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;    LinkList *p=L,*q;    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">while</span> (j<i-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span> && p!=<span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">NULL</span>)    <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//查找第i-1个结点</span>    {        j++;        p=p->next;    }    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span> (p==<span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">NULL</span>)                <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//未找到位序为i-1的结点</span>        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">return</span> <span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">false</span>;    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">else</span>                        <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//找到位序为i-1的结点*p</span>    {        q=p->next;              <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//q指向要删除的结点</span>        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span> (q==<span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">NULL</span>)            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">return</span> <span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">false</span>;           <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//若不存在第i个结点,返回false</span>        e=q->data;        p->next=q->next;        <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//从单链表中删除*q结点</span>        free(q);                <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//释放*q结点</span>        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">return</span> <span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">true</span>;    }}</code><code class="hljs objectivec has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">3.源文件main.cpp [cpp] view plain copy 在CODE上查看代码片派生到我的代码片#include "linklist.h"  int main()  {      LinkList *L;      ElemType E,k;        ElemType a[8]= {7, 9, 8, 2, 0, 4, 6, 3};      //初始化单链表L      InitList(L);        /*头插法建立     CreateListF(L, a, 8);     printf("头插法建表结果:");     DispList(L);*/        //尾插法建立      CreateListR(L, a, 8);      printf("尾插法建表结果:");      DispList(L);        //输出单链表长度        printf("链表长度:%d\n",ListLength(L));            //判断空表        if((ListEmpty(L))>0)            printf("是空表\n");        else            printf("不是空表\n");            //输出指定元素        if(GetElem(L, 3, E))            printf("找到了第3个元素值为:%d\n", E);        else            printf("第3个元素超出范围!\n");              //查找元素地址        if((k=LocateElem(L, 8))>0)            printf("找到了,值为8的元素是第 %d 个\n", k);        else            printf("值为8的元素木有找到!\n");            //插入元素        printf("在第1个位置插入元素1\n");        ListInsert(L, 4, 1);         DispList(L);           //删除元素        printf("删除第3个位置的元素\n");        ListDelete(L,3,E);        DispList(L);            //销毁单链表        printf("销毁单链表\n");        DestroyList(L);        return 0;    }  </code><code class="hljs objectivec has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">运行结果截图:</code><code class="hljs objectivec has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><img src="http://img.blog.csdn.net/20160919205838671?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /></code><code class="hljs objectivec has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">知识点总结:学习了用多文件组织建立单链表库的方法。</code><code class="hljs objectivec has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">学习心得:要自己动手尝试用新的知识解决问题。</code>


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 文件过大无法复制到u盘怎么办 淘宝账号上不去总说网络不好怎么办 手机上登录微信一直闪退怎么办 京东账号手机号换了登陆不了怎么办 对方账号停止收款我们汇了款怎么办 淘宝店铺严重违规被扣12分怎么办 中国网银登陆不会自动弹出怎么办 高考报考的时候页面无法显示怎么办 如果卖家收到货不退款怎么办 淘宝退货卖家收到货不退款怎么办 手机号码淘宝被注册跟换绑定怎么办 微信发送ppt显示文件太大怎么办 微信手机号丢了微信登不了钱怎么办 新买的号码注册过支付宝怎么办 新买的号码被注册过支付宝怎么办 支付宝同号码注册了新的帐号怎么办 新卖的号码有人注册过支付宝怎么办 我的号码被别人注册了支付宝怎么办 别人用我的号码注册了支付宝怎么办 打开支付宝进入到淘宝的界面怎么办 我的手机号注销了支付宝账号怎么办 微博绑定的支付宝账号注销了怎么办 闲鱼买家申请退款卖家不同意怎么办 微信与手机旧版本不一致怎么办 在应用宝里下载微信老是失败怎么办 使用u盘储存视频显示不兼容怎么办 支付宝下载显示与存在不兼容怎么办 cpu与64位系统不兼容怎么办 微信版本低登录不了怎么办苹果手机 手机版本低登录不了微信怎么办? 进入微信公众号显示登录失败怎么办 安卓系统手机亮度调到最低怎么办 阿里妈妈买家号虚假交易违规怎么办 淘宝商让我修改追评叫我怎么办 红冲金额大于了当月的销售额怎么办 淘宝买家号虚假交易评价删除怎么办 淘宝卖的宝贝电话写错了怎么办 邮政快递都揽件了一直不运输怎么办 应用宝里面的安装包安装不了怎么办 苹果平板电脑充电接口坏了怎么办 读书郎平板电脑开不了机怎么办