数据结构实验报告-线性链表(共5页).doc

上传人:飞****2 文档编号:7090689 上传时间:2022-02-18 格式:DOC 页数:5 大小:25.50KB
返回 下载 相关 举报
数据结构实验报告-线性链表(共5页).doc_第1页
第1页 / 共5页
数据结构实验报告-线性链表(共5页).doc_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《数据结构实验报告-线性链表(共5页).doc》由会员分享,可在线阅读,更多相关《数据结构实验报告-线性链表(共5页).doc(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上课程名称数据结构 实验名称线性链表的实现和应用 实验日期2015.1.16班 级 姓 名 学号 仪器编号实验报告要求 1.实验目的 2.实验要求 3.实验步骤 4.程序清单 5.运行情况 6.流程图 7.实验体会 实验目的:掌握线性表的链式存储结构设计与基本操作的实现。实验内容:1、采用书上第28页定义的线性表链式存储结构,编程实现书中算法2.8、算法2.9、算法2.10、算法2.11,以及输出线性链表的算法。另外,编写主函数对所实现的算法进行测试。2、采用线性表的链式存储结构,实现线性链表的合并操作:设有线性链表La和Lb,试设计算法将La和Lb归并为新的线性链表L

2、c;设线性链表La和Lb中的数据元素为整数,且均已按值非递减有序排列,要求Lc中的数据元素也按值非递减有序排列。程序清单:1.#include#include#define ERROR 0#define NULL 0#define OK 1typedef int ElemType;typedef struct LNodeElemType data;struct LNode *next;LNode,*LinkList;int GetElem_L(LinkList L,int i, ElemType &e)int j=1;LinkList p=L-next;while(p&jnext;+j;if(

3、!p|ji)return ERROR;e=p-data;return OK;int ListInsert_L(LinkList &L,int i,ElemType e)int j=0;LinkList p=L,s;while(p&jnext;+j;if(!p|ji-1)return ERROR;s=(LinkList)malloc(sizeof(LNode);s-data=e;s-next=p-next;p-next=s;return OK;int ListDelete_L(LinkList &L,int i,ElemType &e)int j=0;LinkList p=L,q;while(p

4、-next&jnext;+j;if(!(p-next)&ji-1)return ERROR;q=p-next;p-next=q-next;e=q-data;free(q);return OK;void CreateList_L(LinkList &L,int n)int i;LinkList p,q;L=(LinkList)malloc(sizeof(LNode);q=L;for(i=1;idata);q-next=p;q=p;q-next=NULL;int OutputList_L(LinkList L)LinkList p=L-next;if(p=NULL)return ERROR;whi

5、le(p!=NULL)printf(%d,p-data);p=p-next;printf(n);return OK;void main()ElemType i,e,a,n,x,y,dd;LinkList L; printf(输入元素个数n:n);scanf(%d,&n);printf(请输入链表中的%d个元素:n,n);CreateList_L(L,n); printf(输出顺序表所有元素:n);OutputList_L(L);printf(请输入赋值的第i个元素:);scanf(%d,&i);GetElem_L(L,i,e);printf(e=%dn,e);printf(插入元素的位置:);

6、scanf(%d,&x);printf(插入的元素为: );scanf(%d,&a);printf(在顺序表第%d个位置插入%dn,x,a);ListInsert_L(L,x,a);printf(输出插入操作后顺序表所有元素:n);OutputList_L(L); printf(删除元素的位置:);scanf(%d,&y);printf(删除顺序表第%d个位置的元素n,y);ListDelete_L(L,y,dd);printf(输出删除操作后顺序表所有元素:n);OutputList_L(L);2.#include#include#define ERROR 0#define NULL 0#d

7、efine OK 1typedef int ElemType;typedef struct LNodeElemType data;struct LNode *next;LNode,*LinkList;void CreateList_L(LinkList &L,int n)int i;LinkList p,q;L=(LinkList)malloc(sizeof(LNode);q=L;for(i=1;idata);q-next=p;q=p;q-next=NULL;int OutputList_L(LinkList L)LinkList p=L-next;if(p=NULL)return ERROR

8、;while(p!=NULL)printf(%d,p-data);p=p-next;printf(n);return OK;void MergeList_L(LinkList &La,LinkList &Lb,LinkList &Lc)LinkList pa,pb,pc;pa=La-next;pb=Lb-next;Lc=pc=La;while(pa&pb)if(pa-datadata)pc-next=pa;pc=pa;pa=pa-next;elsepc-next=pb;pc=pb;pb=pb-next;pc-next=pa?pa:pb;free(Lb);void main()int a,b;L

9、inkList La,Lb,Lc=0;printf(输入La元素个数a:n);scanf(%d,&a);printf(请输入链表La中的元素:n);CreateList_L(La,a);printf(输入Lb元素个数b:n);scanf(%d,&b);printf(请输入链表Lb中的元素:n);CreateList_L(Lb,b); printf(输出链表La所有元素:n);OutputList_L(La); printf(输出链表Lb所有元素:n);OutputList_L(Lb);MergeList_L(La,Lb,Lc); printf(输出链表Lc所有元素:n);OutputList_L(Lc);教师评价优良中及格不及格教师签名日期江南大学物联网工程学院实验报告专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 教育教学

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁