存储结构实验报告Word文档格式.docx

上传人:b****5 文档编号:16070721 上传时间:2022-11-18 格式:DOCX 页数:5 大小:16.30KB
下载 相关 举报
存储结构实验报告Word文档格式.docx_第1页
第1页 / 共5页
存储结构实验报告Word文档格式.docx_第2页
第2页 / 共5页
存储结构实验报告Word文档格式.docx_第3页
第3页 / 共5页
存储结构实验报告Word文档格式.docx_第4页
第4页 / 共5页
存储结构实验报告Word文档格式.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

存储结构实验报告Word文档格式.docx

《存储结构实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《存储结构实验报告Word文档格式.docx(5页珍藏版)》请在冰豆网上搜索。

存储结构实验报告Word文档格式.docx

  ⑵基于所设计的存储结构实现线性表的基本操作;

  ⑶编写一个主程序对所实现的线性表进行测试;

  ⑷线性表的应用:

①设线性表L1和L2分别代表集合A和b,试设计算法求A和b的并集c,并用线性表L3代表集合c;

②(选做)设线性表L1和L2中的数据元素为整数,且均已按值非递减有序排列,试设计算法对L1和L2进行合并,用线性表L3保存合并结果,要求L3中的数据元素也按值非递减有序排列。

  ⑸设计一个一元多项式计算器,要求能够:

①输入并建立多项式;

②输出多项式;

③执行两个多项式相加;

④执行两个多项式相减;

⑤(选做)执行两个多项式相乘。

  三、数据结构设计

  1.按所用指针的类型、个数、方法等的不同,又可分为:

  线性链表(单链表)

  静态链表

  循环链表

  双向链表

  双向循环链表

  2.用一组任意的存储单元存储线性表中数据元素,用指针来表示数据元素间的逻辑关系。

  四、算法设计

  1.定义一个链表

  voidcreatlist(Linklist

  Linklistp  

s;

  L=(Linklist)malloc(sizeof(Lnode));

  p=L;

  L->

next=nuLL;

  for(i=0;

i  {

  s=(Linklist)malloc(sizeof(Lnode));

  scanf("

%d"

  s->

  p->

next=s;

p=s;

  }

  2.

(1)两个链表的合并

  voidmergelist(Linklist

  pa=La->

next;

pb=Lb->

  Lc=pc=La;

  while(papc=pa;

pa=pa->

}

  else{pc->

next=pb;

pc=pb;

pb=pb->

  pc->

next=pa?

pa:

pb;

  free(Lb);

  

(2)两个链表的并集

  Linklistunionlist(Linklist

  intflag;

  head=q=(Linklist)malloc(sizeof(Lnode));

  p1=La->

  while(p1)

  {

  flag=0;

  p2=Lb->

  while(p2)

  if(p1->

data==p2->

data)

  flag=1;

  break;

  p2=p2->

  if(flag==0)

data=p1->

data;

  q->

  q=s;

  p1=p1->

next=Lb->

  returnhead;

  3.

(1)一元多项式的加法

  Listaddpoly(Listpa,Listpb)//一元多项式的加法{

  intn;

  Listpc,s,p;

  pa=pa->

  pb=pb->

  pc=(List)malloc(sizeof(structLinklist));

  p=pc;

  while(pa!

=nuLLs->

expn=pa->

expn;

coef=pa->

coef;

  p=s;

  elseif(pa->

expn  expn)

  s=(List)malloc(sizeof(structLinklist));

s->

expn=pb->

coef=pb->

  else

  n=pa->

coef+pb->

  if(n!

=0)

coef=n;

=nuLL)

  while(pb!

  returnpc;

  

(2)一元多项式的减法

  Listsubpoly(Listpa,Listpb)//一元多项式的减法{

=nuLL

coef=-pb->

coef-pb->

  篇二:

顺序存储结构实验报告

  石家庄经济学院

  学院:

管理科学与工程学院专业:

信息管理与信息系统

  信息工程学院计算机实验中心制

  抽象数据类型List[1]的顺序存储结构表示及基本运算的实现;

  二实验目的

  1.通过本次实习,重点加强对抽象数据类型List的认识及其不同的存储表示与相关操作的算法、编程实现;

  2.通过题目3,学会线性结构的基本应用;

即如何用线性结构进行问题建模与求解。

  三实习要求

  1.预习c语言中结构体的定义与基本操作方法2.对顺序表的每个基本操作用单独的函数实现3.编写完整程序完成下面的实验内容并上机运行4.整理并上交实验报告

  四实验步骤

  1.概要设计

  分析问题,建立问题的ADT=(D,s,p),即给相关问题的ADT的表示及相关操作的定义。

ADTList{

  数据对象:

D={ai|ai∈elemset,i=1,2,…,n,n≥0}数据关系:

R1={|ai-1,ai∈D,i=1,2,…,n}基本操作:

  InitList(

  typedefintelemType;

//定义线性表的数据元素类型为int

  顺序存储实现的抽象数据类型如下:

typedefstruct{

  elemType*elem;

//存储空间基址intlength;

//当前长度

  intlistsize;

//当前分配的存储容量(以sizeof(elemType)为单位)}sqList;

  给出概要数据中,定义的操作对应的算法原型如下:

statusInitList(sqListif(!

L.elem)

  exit(oVeRFLow);

L.length=0;

L.listsize=n;

  篇三:

数据结构实验报告1线性表的顺序存储结构

  

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 少儿英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1