欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    数据结构线性表的顺序表示和实现.docx

    • 资源ID:68995448       资源大小:120.98KB        全文页数:3页
    • 资源格式: DOCX        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据结构线性表的顺序表示和实现.docx

    数据结构实验报告实验一 线性表的顺序表示和实现实验人:学号: Xb09620125 时间:实验目的1 .掌握线性表的动态分配顺序存储结构.掌握线性表合并算法。一、 实验内容已知顺序线性表La和Lb的元素按值非递减排列,归并La和Lb得到新的 顺序线性表Lc, Lc的元素也按值非递减排列。(算法2.7)实验步骤:1 .创建线性表La和Lbo.合并La和Lb得到Lc。2 .输出 La、Lb、Leo算法说明先建立线性表La与Lb,然后合并两线性表。二、 测试结果六、 分析与探讨合并两线性表时,数据元素按非递减排列。七、 附录:源代码源代码列在附录中,要求程序风格清晰易理解,有充分的注释。有意义的注释行不少于30%0#defineTRUE1#defineFALSE0#defineOK1#defineERROR0#defineINFEASIBLE -2数据结构实验报告#define OVERFLOW -2/Status是函数的类型,其值是函数结果状态代码typedef int Status;typedefintElemType; 元素类型定义为整型#include<iostream.h>#define LISTJNIT_SIZE 100 存储空间的初始分配量#define LISTINCREMENT 10 /存储空间的分配增量typedef struct ElemType *elem; 指向存储空间的基地址int length;线性表的当前长度int listsize;当前分配的存储容量SqList;StatusInitList_Sq(SqList&L) / 算法 2.3构造一个空的线性表LoL.elem = new(ElemTypeLIST_INIT_SIZE*sizeof(ElemType);if(!L.elem) return OVERFLOW; / 存储分配失败L.length = 0;/空表长度为0L.listsize = LIST_INIT_SIZE; / 初始存储容量 return OK; / InitList_SqStatus DestroyList_Sq(SqList &L)if (L.elem) delete(L.elem);释放线性表的存储空间L.elem=NULL;return OK;/Destroy List_SqElemType*realloc(SqListL) 再申请 LISTINCREMENT 个空间ElemType *p,*q,*r;p = new(ElemType (L. listsize+LI STINCREM ENT) *sizeof(ElemType);if(!p) return NULL; q=p; r=L.elem;for(int i= 1 ;i<=L.length;i+) *q=*r; q+; r+;delete L.elem;return p;)StatusListInsert_Sq(SqList&L,inti,ElemTypee) / 算法 2.4/在顺序线性表L的第i个元素之前插入新的元素e, i的合法值为 l<i<ListLength_Sq(L)+lElemType *p;if(i < 1 11 i >L.length+l) return ERROR; /i 值不合法if(L.length >= L.listsize) /当前存储空间已满,增加容量 ElemType *newbase = realloc(L);if (inewbase) return ERROR; / / 存储分配失败L.elem = newbase;/ 新基址L.listsize += LISTINCREMENT; / 增加存储容量数据结构实验报告ElemType*q =&(L.elemi-1 ); / q 为插入位置for (p = &(L.elemL.length-l); p>=q; p) *(p+l) = *p;/插入位置及之后的元素右移*q = e; / 插入 e+L.length; / 表长增 1 return OK; / ListInsert_SqStatus ListInsert(SqList &L,ElemTypee) if(!L.length)L.elemO=e;int i=L.length;while(e<=L.elemi-1 &&i>0)L. elemi=L. elem i-1;i-;L.elemi=e;L.length+;return OK;)StatusMergeList_Sq(SqListLa, SqListLb, SqList&Lc) / 算法 2.7/已知顺序线性表La和Lb的元素按值非递减排列。/归并La和Lb得到新的顺序线性表Lc, Lc的元素也按值非递减排列。ElemType *pa,*pb,*pc,*pa_last,*pb_last;使pa、pb分别指向La和Lb的第一个元素pa=La.elem; pb = Lb.elem;为Lc申请空间Lc.listsize = Lc. length = La. length+Lb. length;pc = Lc.elem = new(ElemTypeLc.listsize*sizeof(ElemType);if (ILc.elem)return OVERFLOW; 存储分配失败使pa_last、pbast分别指向La和Lb的最后一个元素pa_last = La. elem+La. length-1;pb_last = Lb.elem+Lb.length-1;while (pa <= pa_last && pb <= pb_last) 归并if (*pa <= *pb) *pc+ = *pa+; else *pc+ = *pb+;while (pa <= pa_last) *pc+ =*pa+; / La 的乘U余元素 while (pb <= pb_last) *pc+ =*pb+; / 插入 Lb 的乘U余元素 return(OK);l; / MergeListvoid ListTraverse_Sq(SqList L)int i;for(i= 1 ;i<=L.length;i+) cout<<L,elemi-l<<H n;cout<<endl;数据结构实验报告voidmain()int i;建立两个元素按值非递减排列的顺序线性表La和Lb,并将它们合并为一个有序顺序 表Lc显示La、Lb和Lc的内容SqList La,Lb,Lc;ElemTypezl,z2;InitList_Sq(La);coutvv”读入3个元素并插入到顺序表La中"vvendl;fbr(i=l;i<=3;i+) cin>>zl;ListInsert(La,zl);coutvv”顺序表La中所有元素如下:“vvendl;ListTraverse_Sq(La);InitList_Sq(Lb);cout<<”读入3个元素并插入到顺序表Lb中”<<endl;for(i=l;i<=3;i+) cin>>z2; ListInsert(Lb,z2);coutvv”顺序表Lb中所有元素如下:"vvendl;ListTraverse_Sq(Lb);MergeList_Sq(La, Lb, Lc);coutvv”顺序表Lc中所有元素如下:“<<endl;ListTraverse_Sq(Lc);

    注意事项

    本文(数据结构线性表的顺序表示和实现.docx)为本站会员(太**)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

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

    收起
    展开