- 1、本文档共70页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
wsx wsx ADT 抽象数据类型名{ 数据对象:参数表 数据关系:数据关系的定义 基本操作:基本操作的定义 }ADT 抽象数据类型名 抽象数据类型一般定义: 其中,数据对象和数据关系的定义用伪码表示,基本操作的定义格式为: 基本操作名(参数表) 初始条件:初始条件描述 操作结果: 操作结果描述 基本操作的参数两种形式:赋值参数只为操作提供输入值;引用参数以打头,除可提供输入值外,还将返回操作结果。 例 抽象数据类型三元组的定义 ADT Triplet{ 数据对象:D={e1,e2,e3|e1,e2,e3?ElemSet} 数据关系:R={e1,e2,e2,e3} 基本操作: InitTriplet(T,v1,v2,v3) 操作结果:构造三元组T,元素e1,e2和e3分别 被赋值参数v1,v2和v3的值。 DestroyTriplet(T) 操作结果:三元组T被销毁。 Get(T,i,e) 初始条件:三元组T已存在, 操作结果:用e返回T的第i个元素值。 Put(T,i,e) 初始条件:三元组T已存在, 操作结果:改变T的第i个元素值e。 … }ADT Triplet 1.3 抽象数据类型的表示与实现 例:线性表的实现: ADT List{ 数据对象: D={ai| ai(-ElemSet,i=1,2,...,n,n=0} 数据关系: R1={ai-1,ai| ai-1,ai(- D,i=2,...,n} 基本操作: InitList(L) DestroyList(L) ListInsert(L,i,e) ListDelete(L,i,e) }ADT List ListInsert(List L,int i,ElemType e) { if(i1||iL.length) return ERROR; q=(L.elem[i-1]); for(p=(L.elem[L.length-1]);p=q;--p) *(p+1)=*p; *q=e; ++L.length; return OK; } 下面我们以抽象数据类型Triplet(三元组)的表示与实现为例说明此问题。 float *InitTriplet(float v1,float v2,float v3) { float *T; T=(float *)malloc(sizeof(float)*3); T[0]=v1;T[1]=v2;T[2]=v3; return T; } Status InitTriplet(Triplet T,Elemtype v1, Elemtype v2, Elemtype v3) { //构造三元组T,依次置T的三个元素的初值为V1,V2,V3。 T=(ElemType *)malloc(3*sizeof(ElemType));//分配3个元素的存储空间 if(!T) exit(OVERFLOW);//分配存储空间失败 T[0]=v1; T[1]=v2; T[2]=v3; return OK; }//InitTriplet DestroyTriTlet(float *T) { free(T); T=NULL; return 1; } Put(float *T,int i,float *e) { if(i1||i3) return 0; T[i-1]=*e; return 1; } Get(float *T,int i,float *e) { if(i1||i3) return 0; *e=T[i-1]; return 1; } IsAscending(float *T) { return(T[0]T[1] T[1]T[2]); } Status DestroyTriplet(Triplet T) { //销毁三元组 free(T); T=NULL; return OK; }//DestroyTriplet Status Get(Triplet T,int i,ElemType e) {//1=i=3,用e返回T的第i元的值 if(i1||i3) return ERROR; e=T[i-1]; return OK; }//Get Status Put(Triplet T,int i,ElemType e) {//1=
您可能关注的文档
- 数值分析课件第三章.ppt
- 数字信号处理(王震宇张培珍编)绪论.ppt
- 数字信号处理课件第1章时域离散信号和.ppt
- 数字图像与GIF动画制作.ppt
- 数字图像处理-车牌识别.ppt
- 毕业论文写作与文献检索.ppt
- 毕业答辩模板-暨南大学.ppt
- 数字图像处理第11章活动图像编码北邮出版社200810.ppt
- 毕业论文的写作方法.ppt
- 数字娱乐内容(动漫游)经纪服务平台.ppt
- 2024年湖南省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年江西省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年安徽省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年福建省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年广东省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年河北省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年河南省高考英语试卷(含答案解析)+听力音频.docx
- 2024年湖北省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年湖南省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年江苏省高考英语试卷(含答案解析)+听力音频+听力原文.docx
最近下载
- 2020-2021某大学《管理学原理》期末课程考试试卷合集(含答案).doc
- 医院重大经济事项决策程序.docx VIP
- 口腔医疗器械清洗.pptx VIP
- 第31届WMO融合创新讨论大会复赛三年级试卷.docx VIP
- 未来学校教育技术支持优化数字化教学环境培训课件.pptx
- DB3305T 321-2024乡村运营(村庄经营)指南.pdf VIP
- 第31届WMO融合创新讨论大会复赛七年级试卷.docx VIP
- 第31届WMO融合创新讨论大会复赛八年级试卷.docx VIP
- 公共管理伦理学 全套课件.ppt
- 2025年渭南市事业单位招聘高层次人才和紧缺特殊人才(191人)笔试备考试题及答案解析.docx
文档评论(0)