线性表的链式存储结构设计

线性表的链式存储结构设计

ID:2596999

大小:83.00 KB

页数:6页

时间:2017-11-17

线性表的链式存储结构设计_第1页
线性表的链式存储结构设计_第2页
线性表的链式存储结构设计_第3页
线性表的链式存储结构设计_第4页
线性表的链式存储结构设计_第5页
资源描述:

《线性表的链式存储结构设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验一:设线性表L1和L2分别代表集合A和B,试设计算法求A和B的并集C,并用线性表L3代表集合C。实验二:设计一个一元多项式计算器,要求能够:①输入并建立多项式;②输出多项式;③执行两个多项式相加;④执行两个多项式相减。1.实验目的:掌握线性表的链式存储结构设计与基本操作的实现。2.实验内容与要求:⑴定义线性表的链式存储表示;⑵基于所设计的存储结构实现线性表的基本操作;⑶编写一个主程序对所实现的线性表进行测试;3.数据结构设计实验一:逻辑结构:线性结构存储结构:链式存储结构实验二:逻辑结构:线性结构存储结构:链式存储结构4.算法设计实验一#inclu

2、de#includetypedefintdatatype;typedefstructnode{datatypedata;//结点值structnode*next;//存储下一个结点的地址}LinkList;LinkList*CREATLISTF(LinkList*L,intn){intnum,i;LinkList*head,*s,*r;head=L;r=head;head->next=NULL;printf("请输入集合中的元素(由小到大):");for(i=0;i

3、);s=(LinkList*)malloc(sizeof(LinkList));s->data=num;r->next=s;//链接到表中r=s;//r指向新的尾结点}r->next=NULL;returnhead;}LinkList*merge(LinkList*L1,LinkList*L2){LinkList*L3,*pa,*pb1,*pb2,*pc;L3=(LinkList*)malloc(sizeof(LinkList));//申请结点L3->next=NULL;//初始化链表L3pa=L1->next;//pa是链表L1的工作指针,指向第一个

4、结点pb1=pb2=L2->next;//pb1是链表L2的工作指针,指向第一个结点pc=L3;//pc是链表L3的工作指针,指向头结点while(pa&&pb1)//L1和L2均非空if(pa->datadata){//L1中元素插入L3pc->next=pa;pc=pa;pa=pa->next;}elseif(pa->data>pb1->data){//L2中元素插入L3pc->next=pb1;pc=pb1;pb1=pb1->next;}else{pc->next=pa;pc=pa;pa=pa->next;pb1=pb2=pb1->n

5、ext;}if(pa)pc->next=pa;//若pa未到尾,将pc指向paelsepc->next=pb1;//若pb1未到尾,将pc指向pb1return(L3);}voiddisplay(LinkList*L){LinkList*head;head=L->next;do{printf("%dt",head->data);head=head->next;}while(head!=NULL);}voidmain(){intan,bn;LinkList*L1,*L2,*L3;L1=(LinkList*)malloc(sizeof(LinkList)

6、);L2=(LinkList*)malloc(sizeof(LinkList));printf("请输入集合A中元素的个数:");scanf("%d",&an);*L1=*CREATLISTF(L1,an);printf("集合A的元素为:");display(L1);printf("请输入集合B中元素的个数:");scanf("%d",&bn);*L2=*CREATLISTF(L2,bn);printf("集合B的元素为:");display(L2);L3=merge(L1,L2);printf("交集为:");displ

7、ay(L3);}实验二typedefstructnode{intcoef;intexp;structnode*next;}polynode;polynode*Creat1polynode();polynode*Creat2polynode();polynode*subpolynode(polynode*ha,polynode*hb);polynode*addpolynode(polynode*ha,polynode*hb);#include#includeintmain(){polynode*ha,*hb,*hc,

8、*hd,*p;ha=Creat1polynode();p=ha->next;printf("输

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

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

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