欢迎来到天天文库
浏览记录
ID:39424125
大小:289.82 KB
页数:12页
时间:2019-07-03
《抽象数据类型的表示与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第一章绪论1.1什么是数据结构1.2基本概念和术语1.4算法和算法分析1.3抽象数据类型的表示与实现抽象数据类型需要通过固有数据类型(高级编程语言中已实现的数据类型)来实现。1.3抽象数据类型的表示与实现由于我们在高级程序设计语言的虚拟层次上讨论抽象数据类型的表现和实现,并且讨论的数据结构及其算法主要是便于理解,故采用伪码和C语言之间的类C语言作为描述的工具,有时也采用伪码描述一些只含抽象操作的抽象算法。这使得数据结构和算法的描述和讨论简明清晰,不拘泥于C语言的细节,又能容易转换成C或C++程序。1)预定义常量和类型://函数
2、结果状态代码#defineTRUE1#defineFALSE0#defineOK1#defineERROR0#defineINFEASIBLE-1#defineOVERFLOW-2//Status是函数的类型,其值是函数结果状态代码typedefintStatus;2)数据结构的表示(存储结构)用类型定义(typedef)描述。数据元素类型约定为ElemType,由用户在使用该数据类型时自行定义。3)基本操作的算法都用以下形式的函数描述:函数类型函数名(函数参数表){//算法说明语句序列}//函数名除了函数的参数需要说明类型外
3、,算法中使用的辅助变量可以不作变量说明,必要时对其作用给予注释。4)赋值语句:简单赋值变量名=表达式;串联赋值变量名1=变量名2=…=变量名k=表达式;成组赋值(变量名1,…,变量名k)=(表达式1,…,表达式k)结构名=结构名;结构名=(值1,…,值k);变量名[]=表达式;变量名[起始下标…终止下标]=变量名[起始下标…终止下标];交换赋值变量名变量名;条件赋值变量名=条件表达式?表达式T:表达式F;5)选择语句:条件语句1if(表达式)语句;条件语句2if(表达式)语句;else语句;开关语句1switch(表达式){c
4、ase值1:语句序列1;break;…case值n:语句序列n;break;default:语句序列n+1;}开关语句2switch{case条件1:语句序列1;break;…case条件n:语句序列n:break;default:语句序列n+1;}6)循环语句:for语句for(赋初值表达式序列;条件;修改表达式序列)语句;while语句while(条件)语句;do-while语句do{语句序列;}while(条件);7)结束语句:函数结束语句return表达式;return;case结束语句break;异常结束语句exit
5、(异常代码);8)输入和输出语句:输入语句scanf([格式串],变量1,…,变量n);输出语句printf([格式串],表达式1,…,表达式n);9)注释单行注释//文字序列10)基本函数:求最大值max(表达式1,…,表达式n)求最小值min(表达式1,…,表达式n)求绝对值abs(表达式)求不足整数值floor(表达式)求进位整数值ceil(表达式)判定文件结束eof(文件变量)或eof判定行结束eoln(文件变量)或eoln11)逻辑运算约定与运算&&:对于A&&B,当A的值为0时,不再对B求值。或运算
6、
7、:对于A
8、
9、
10、B,当A的值为非0时,不再对B求值。typedefstruct{floatrealpart;floatimagpart;}complex;//-----存储结构的定义//-----基本操作的函数原型说明voidAssign(complex&Z,floatrealval,floatimagval);//构造复数Z,其实部和虚部分别被赋以参数//realval和imagval的值例如,对以上定义的复数floatGetReal(cpmplexZ);//返回复数Z的实部值floatGetimag(cpmplexZ);//返回复数Z的虚
11、部值voidadd(complexz1,complexz2,complex&sum);//以sum返回两个复数z1,z2的和//-----基本操作的实现voidadd(complexz1,complexz2,complex&sum){//以sum返回两个复数z1,z2的和sum.realpart=z1.realpart+z2.realpart;sum.imagpart=z1.imagpart+z2.imagpart;}{其它省略}
此文档下载收益归作者所有