1.2.3 数据类型和抽象数据类型 抽象数据类型的形式描述为: ADT = ( D,S,P ) 其中:D 是数据对象, S 是 D 上的关系集, P 是 D 的基本操作集。 例如,抽象数据类型"复数"的定义为: |
其中(D,S)即为相应的数据结构的定义。 |
|||
ADT Complex { 数据对象:D = {e1,e2 | e1,e2 RealSet } 数据关系:R1 = {<e1,e2> | e1是复数的实部,e2是复数的虚部 } |
用两个实数来表示复数,将复数定义为两个实数的有序对,并约定实部是前驱,虚部是后继。 | |||
基本操作: InitComplex( &Z, v1, v2 ) 操作结果:构造复数Z,其实部和虚部分别被赋以参数v1和v2的值。 DestroyComplex( &Z) 初始条件:复数已存在。 操作结果:复数Z被销毁。 GetReal( Z, &realPart ) 初始条件:复数已存在。 操作结果:用 realPart 返回复数Z的实部值。 GetImag( Z, &ImagPart ) 初始条件:复数已存在。 操作结果:用 ImagPart 返回复数Z的虚部值。 Add( z1,z2, &sum ) 初始条件:z1,z2 是复数。 操作结果:用sum返回两个复数z1,z2的和值。 } ADT Complex |
这里仅指定复数的最小操作集,对外部用户来说,构造一个复数和从复数分别取得它们的实部和虚部是最基本的操作,没有这三个操作,这个抽象数据类型是没有实用价值的,而其它的操作可根据应用需求而定。 |