实验报告单链表

实验报告单链表

ID:35342172

大小:56.10 KB

页数:8页

时间:2019-03-23

实验报告单链表_第1页
实验报告单链表_第2页
实验报告单链表_第3页
实验报告单链表_第4页
实验报告单链表_第5页
资源描述:

《实验报告单链表》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验题目:单链表的基本操作。实验目的:理解单链表的逻辑结构和存储结构,熟练掌握单练表的相关操作。1、问题描述:用箭头表示链域屮的指针于是单链表就可以肓观的画成用箭头链接起来的结点序列,单链表屮每个结点的储存地址存放的其肓接前號的指针域屮,因此访问单链表的每一个结点必须从表头指针开始进行。对单链表的操作主要有:建立单链表、查找、插入一个结点、删除一个结点、求表长。2、数据结构设计:单链表的结点结构如卜-Typcdefstructnodo{〃单链表结点结构ElemTypedata;Structnode*next;}LinkList;3、功能(函数)设计:I

2、nitListl(LinkList*&head)//初始化不带头指针的链表指针1inklist*CreateList_R();//尾插法创建链表1inklist*GetElem(1inklist*h,intpos);//通过位置查找节点1inklist*LocateElem(1inklist*h,chardat,int*i);//按值查找节点intLinklist-Insertdinklist*h,intpos,chardat);//按位置插入节点intLinklist-Delete(linklist*h,intpos);//按位置删除节点voidSh

3、owLinklist(linklist*h);//输出显示链表4、界面设计5、编码实现6、运行测试:Il2"D:kong£t^oWDebuglinklist.exe"—□X单链表的相关操作练习尾插法创建一个链表,请依次输入节点字符数据,空格隔开(‘卅表示输入结束):22#捜狗拼音输入法全:附件:#include#include#includetypedefstructlist{chardata;structlist*next;}linklist;linklist*CreateList^R

4、()//尾插法建立的单链表{linklist*1,*p,*r;intch,i,n;1=(1inklist*)malloc(sizeof(1inklist));r=l;ch=getchar();for(i=0;idata二i;r->next二p;r=p;ch=getchar();getchar();r->next=NULL;//表示当前链表结束return1;linklist^GetElem(1inklist*1,intpos){linklist*p;inti

5、=l;wh订e(i〈pos&&p!二NULL){p=p->next;//p指向下一个结点i++;}if(i==pos)returnp;//i不合法i>n或i二〈0elsereturnNULL;linklist*LocateElem(1inklist*1,chardat,int*i)//再带头结点的单链表L中查找e的元素{1inklist*p;p=l->next;//初始化p指向首元结点*i=l;while(p!二NULL){if(p->data!=dat){*i=*i+l;p=p>next;elsebreak;}returnp;intlinklist_

6、Insert(linklist*1,intpos,chardat)/〃再带头结点的单链表L中再i位置插入为e的新结点{1inklist*p,*h;inti=0;P=l;whi1e(inext!=NULL)〃以j〈iT找i~l的位置{i++;p=p->next;if(i=p()sT);{h=(linklist*)malloc(sizeof(linklist));h->data=dat;〃将结点的*s的数据域置为eh->next=p->next;//将结点*s的指针域指向结点aip->next=l;//将结点*P的指针域指向结点*sg

7、etchar();return1;intLinklist_Delete(linklistintpos)linklist*p,*s;inti二0;wh订e(inext!=NULL)//搜索指定位置前一个节点i++;p=p_>next;if(i!二pos-1

8、

9、p->next=NULL)//查找位置非法return0;s=p->next;p->next=s-〉next;free(s);return1;}//输出显示节点voidShowLinklist(1inklist*1){1inklist*p;p=1-〉next;wh订e(p!=N

10、ULL){printf(/z%c“,p->data);p二p->next;)printfr

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。