实验2-不带头结点的单链表.doc

实验2-不带头结点的单链表.doc

ID:55410925

大小:101.00 KB

页数:5页

时间:2020-05-12

实验2-不带头结点的单链表.doc_第1页
实验2-不带头结点的单链表.doc_第2页
实验2-不带头结点的单链表.doc_第3页
实验2-不带头结点的单链表.doc_第4页
实验2-不带头结点的单链表.doc_第5页
资源描述:

《实验2-不带头结点的单链表.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、上海电力学院数据结构实验报告(2014/2015学年第2学期)课程编号课程名称数据结构院(系)专业班级学号姓名实验名称实验2不带头结点的单链表任课老师卢芳芳实验2不带头结点的单链表1【实验目的与要求】1、熟练掌握动态链表结构及有关算法的设计方法。2、理解不带表头结点的单链表的特点,掌握其基本操作。3、熟练掌握运用不带头结点链表表示特定形式的数据的方法,并设计出有关算法。2【实验内容和步骤】已知不带头结点的链表结构定义及头插法建表、尾插法建表和打印链表等函数定义如下(详见slnklist.h文件),基于该文件完成实验题1-实验4.#include#include<

2、stdlib.h>/**************************************//*链表实现的头文件,文件名slnklist.h*//**************************************/typedefintdatatype;typedefstructlink_node{datatypeinfo;structlink_node*next;}node;typedefnode*linklist;/**********************************//*函数名称:creatbystack()*//*函数功能:头插法建立单链表*

3、//**********************************/linklistcreatbystack(){linklisthead,s;datatypex;head=NULL;printf("请输入若干整数序列:");scanf("%d",&x);while(x!=0)/*以0结束输入*/{s=(linklist)malloc(sizeof(node));/*生成待插入结点*/s->info=x;s->next=head;/*将新结点插入到链表最前面*/head=s;scanf("%d",&x);}returnhead;/*返回建立的单链表*/}/*******

4、***************************//*函数名称:creatbyqueue()*//*函数功能:尾插法建立单链表*//**********************************/linklistcreatbyqueue(){linklisthead,r,s;datatypex;head=r=NULL;printf("请输入若干整数序列:");scanf("%d",&x);while(x!=0)/*以0结束输入*/{s=(linklist)malloc(sizeof(node));s->info=x;if(head==NULL)/*将新结点插入到链

5、表最后面*/head=s;elser->next=s;r=s;scanf("%d",&x);}if(r)r->next=NULL;returnhead;/*返回建立的单链表*/}/**********************************//*函数名称:print()*//*函数功能:输出不带头结点的单链表*//**********************************/voidprint(linklisthead){linklistp;inti=0;p=head;printf("Listis:");while(p){printf("%5d",p->inf

6、o);p=p->next;i++;if(i%10==0)printf("");}printf("");}/**********************************//*函数名称:delList()*//*函数功能:释放不带头结点的单链表*//**********************************/voiddelList(linklisthead){linklistp=head;while(p){head=p->next;free(p);p=head;}}1.编写函数lnklistdelx(linklisthead,datatypex),删除不带头

7、结点单链表head中第一个值为x的结点。并构造测试用例进行测试。l程序源代码(注意添加注释)l运行结果(直接截取结果图)2.线性表(a1,a2,a3,…,an)采用不带头结点的单链表存储,请设计算法函数linklistreverse1(linklisthead)和voidreverse2(linklist*head)将不带头结点的单链表head倒置,使表变成(an,an-1,an-2,…,a2,a1).。并构造测试用例进行测试。l程序源代码(注意添加注释)l运行结果(直接截取结果

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

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

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