仿照三元组的抽象数据类型分别写出抽象数据类型复数和有理数的定义
ADT Complex{
数据对象:D={r,i | r,i为实数}
数据关系:S={<r,i>}
基本操作:
InitComplex(&C,re,im)
操作结果:构造一个复数C,实部为re,虚部为im。
DestoryComplex(&C)
初始条件:复数C存在。
操作结果:销毁复数C。
Get(C,k,&e)
初始条件:复数C存在,1<=k<=2。
操作结果:用e返回C的第k元的值。
Put(&C,k,e)
初始条件:复数C存在,1<=k<=2.
操作结果:将C的第k元改为e。
IsAscending(C)
初始条件:复数C存在。
操作结果:如果复数C的两个元素按升序排列,则返回1,否则返回0.
IsDesending(C)
初始条件:复数C存在。
操作结果:如果复数C的两个元素按降序排列,则返回1,否则返回0.
Max(C,&e)
初始条件:复数C存在。
操作结果:用e返回复数C中两个元素值较大的一个。
Min(C,&e)
初始条件:复数C存在。
操作结果:用e返回复数C中两个元素值较小的一个。
} ADT Complex
ADT RationalNumber{
数据对象:D={s,m | s,m为自然数,且m!=0}
数据关系:S={<s,m>}
基本操作:
……
}ADT RationalNumber