- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第5章数组和广义表;5.1数组的定义;;数组的ADT
ADTArray
{数据对象:D={aj1j2….jn|n(0)称为数组的维数,
bi是数组的第i维的长度
ji是数组元素的第i维下标,ji=0,…,bi-1,1≤i≤n
aj1j2….jn∈ElemSet}
数据关系:R={R1,R2,….,Rn}
Ri={aj1…ji….jn,aj1…ji+1...jn|
0≤jk≤bk-1,1≤k≤n且k≠i,
0≤ji≤bi-2,
aj1…ji….jn,aj1…ji+1...jn∈D,i=1,2,…,n};根本操作:
InitArray(A,n,bound1,…,boundn)
操作结果:假设维数n和各维长度合法,那么构造相应的数组A,并返回OK。
DestroyArray(A)
操作结果:销毁数组A。
Value(A,e,index1,…,indexn)
初始条件:A是n维数组,e为元素变量,随后是n个下标值。
操作结果:假设各下标不超界,那么e赋值为指定的A的元素值,并返回OK。
Assign(A,e,index1,…,indexn)
初始条件:A是n维数组,e为元素变量,随后是n个下标值。
操作结果:假设各下标不超界,那么将e的值赋给指定的A的元素,并返回OK。
}ADTArray;5.2数组的顺序表示和实现;二维:Loc[i,j]=Loc[0,0]+(b2*i+j)*h;n维:
Loc[j1,j2,….,jn]=Loc[0,0,…,0]+
(b2*b3*…*bn*j1+b3*b4*…*bn*j2+….+bn*jn-1+jn)*h;函数中可变个数参数的使用方法://实例:printf(*format,……)
1.参加相关的头文件
#includestdarg.h
2.定义指向第一个可变参数的指针
typedefvoid*va_list;
3.利用最后一个固定参数找到第一个可变参数
voidva_start(va_listargptr,last_parm)
//最后一个固定参数名为last_parm
//argptr指向变长参数表中的第一个参数
4.依次找到下一个可变参数
typeva_arg(va_listargptr,type)
//返回argptr指向的type类型的参数,argptr指向下一个参数
5.指针悬空〔不指向任何地方〕
voidva_end(va_listargptr);//-----数组的顺序存储表示-----
#includestdarg.h
//标准头文件,提供宏va_start、va_arg和va_end
//用于存取变长参数表
#defineMAX_ARRAY_DIM8
//假设数组维数的最大值为8
typedefstruct
{ElemType*base;//数组元素基址,由InitArray分配
intdim//数组维数
int*bounds;//数组维界基址,由InitArray分配,bi
int*constants
//数组映象函数常量基址,由InitArray分配,ci
}Array;;//-----根本操作函数原型说明-----
StatusInitArray(ArrayA,intdim,…);
//假设维数dim和随后的各维长度合法,那么构造相应的数组A,并返回OK。
StatusDestroyArray(ArrayA);
//销毁数组A。
StatusValue(ArrayA,ElemTypee,…);
//A是n维数组,e为元素变量,随后是n个下标值。
//假设各下标不超界,那么e赋值为指定的A的元素值,并返回OK。
StatusAssign(ArrayA,ElemTypee,
您可能关注的文档
最近下载
- 食品经营(仅销售预包装食品)备案申请表-模板.pdf VIP
- 宁夏枣泉电厂一期工程的环境影响的报告书简本.doc VIP
- 2022年国家公务员录用考试行测常识题库及答案(共1344题).pdf VIP
- (人教PEP2024版)英语三年级上册全册大单元教学设计(新教材).docx
- 北京交通大学DSP系统课程设计报告电话拨号音检测.docx VIP
- 妇产科规培年度述职报告.docx VIP
- 【庄歌】黄沙坪矿区生产实习.doc VIP
- 2025届高考英语二轮复习:非谓语动词课件 (共49张PPT).ppt.pptx VIP
- 一种驱虫斑鸠菊提取物的外用制剂及其制备方法.pdf VIP
- 杭州优迈SMART系统中文标示电气原理图.pdf VIP
文档评论(0)