实验一线性表的创建与访问算法设计_第1页
实验一线性表的创建与访问算法设计_第2页
实验一线性表的创建与访问算法设计_第3页
实验一线性表的创建与访问算法设计_第4页
实验一线性表的创建与访问算法设计_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、四、编译程序:#include #include #define MAXSIZE 100 typedef char ElemType; typedef struct LNode定义单链表结点类型ElemType data;struct LNode *next; LinkList;LinkList *CreatlinkR(LinkList *L)/用尾插法建立带头结点的单链表LinkList *s, *r;char ch;r = (LinkList *)malloc(sizeof(LinkList);创建头结点L = r; s = r;r-next = NULL;printf(-单链表元素值为单

2、个字符,连续输入,$为结束字符:,while (ch = getchar() != $) r = (LinkList *)malloc(sizeof(LinkList);创建新结点r-data = ch;r-next = NULL; s-next = r; s = r;r-next=NULL;终端结点return (L); void Sort(LinkList *h)单链表元素排序LinkList *p=h-next,*q,*t;if(p!=NULL) t=p-next; p-next=NULL; p=t; while(p!=NULL) t=p-next;q=h;while(q-next!=N

3、ULL&q-next-datadata)q=q-next;/在有序表中找插入*?的前驱结点*qp-next=q-next;将*p 插到*q 之后q-next=p; p=t;void DispList(LinkList *L)输出单链表 L LinkList *p=L-next; while(p!=NULL) printf(%c ,p-data); p=p-next; LinkList *Union(LinkList *La,LinkList *Lb,LinkList *Lc)求两有序集合的并集LinkList *pa=La-next,*pb=Lb-next,*s,*tc; Lc=(LinkLi

4、st *)malloc(sizeof(LinkList); tc=Lc; while(pa!=NULL&pb!=NULL) if(pa-datadata) s=(LinkList *)malloc(sizeof(LinkList);复制结点s-data=pa-data; tc-next=s; tc=s; pa=pa-next; else if(pa-datapb-data) s=(LinkList *)malloc(sizeof(LinkList); s-data=pb-data; tc-next=s; tc=s; pb=pb-next; else s=(LinkList *)malloc(s

5、izeof(LinkList);s-data=pa-data;tc-next=s;tc=s;pa=pa-next;重复元素只复制一个pb=pb-next;if(pb!=NULL)复制余下结点pa=pb;while(pa!=NULL)s=(LinkList *)malloc(sizeof(LinkList);s-data=pa-data;tc-next=s;tc=s;pa=pa-next;tc-next=NULL;return(Lc);LinkList *InsterSect(LinkList *La,LinkList *Lb,LinkList *Lc)求两有序集合的交集 LinkList *p

6、a=La-next,*pb,*s,*tc;Lc=(LinkList *)malloc(sizeof(LinkList);tc=Lc;while(pa!=NULL) pb=Lb-next;while(pb!=NULL&pb-datadata)pb=pb-next;if(pb!=NULL&pb-data=pa-data)/若 pa 结点值在 pb 中s=(LinkList *)malloc(sizeof(LinkList);s-data=pa-data;tc-next=s;tc=s;pa=pa-next;tc-next=NULL;return(Lc);LinkList *Subs(LinkList

7、 *La,LinkList *Lb,LinkList *Lc)求两有序集合的差集LinkList *pa=La-next,*pb,*s,*tc;Lc=(LinkList *)malloc(sizeof(LinkList);tc=Lc;while(pa!=NULL)pb=Lb-next;while(pb!=NULL&pb-datadata)pb=pb-next;if(!(pb!=NULL&pb-data=pa-data)/若 pa 结点值不在 pb 中s=(LinkList *)malloc(sizeof(LinkList);s-data=pa-data;tc-next=s;tc=s;pa=pa

8、-next;tc-next=NULL;return(Lc);void main()LinkList *La,*Lb,*Lc;int num=0,loop,j;loop=1;La=CreatlinkR(La);Lb=CreatlinkR(Lb);Sort(La);Sort(Lb);printf(有序集合 A=);DispList(La);printf(n);printf(有序集合 B = );DispList(Lb);printf(n);while(loop)printf(-请选择您要执行的操作:1.求并集2.求交集3.求差集/);scanf(”d”,&j);printf(”n%d”,j);if

9、(j=1&j您 -奏集6拦 链居4谐 . /iurTRInF 3 青5 4求弁篇S32.求集合的并集:SZC:U&ersftdnii nistratoni?。匚 ummntsVBUTWti 吉构角一风 De bu gl.exe3.求差集亭为靖F字 符次4563 2 $ S为绐弟字号=463$rT 4km - 有序集合B = 3 4 6)清诜拦您耕揄T的操作,1 .求井真 2.XV集 3.求差真号掣马集f爨集C = /与4 b B Y。清册至您蓼掬的澡伯L求封矣集 3 .求差矣求集合的交集:匚:U 沮 rsyftdni i nistratorXDocumentsV作吉构*备一风 de bu gl.exeSZrT 4 km - n - 3 4irr.lrr 为为2 复二B-元_兀合合:您春-w-集&拦4也 It单有有3青求太矣2 .求交集3.求差集情选捧您要扰行的噪作;L求井宾2.求交集,集含4与集合R佬交集C = t 1 4 A 1 b 结束 1-0求集合的差集:匚:U 泥 rsftdm i nistratorXDocumentsV作山懒彝吉御*第一次,口

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论