试仿照三元组的抽象数据类型分别写出数据类型复数和有理数的定义?

来源:百度知道 编辑:UC知道 时间:2024/06/07 01:03:51

a.
抽象数据类型复数complex:
ADT complex{
数据对象:D={e1,e2|e1,e2∈R}
数据关系:R1={<e1,e2>}
基本操作:
Initcomplex(&T,v1,v2)
操作结果:构造了复数T,元素e1,e2分别被赋以参数v1,v2的值.
Destroycomplex(&T)
初始条件:复数T已存在.
操作结果:复数T被销毁.
Get(T,i,&e)
初始条件:复数T已存在,1≤i≤2.
操作结果:用e返回T的实部或虚部的值。
Isascending(T)
初始条件:复数T已存在。
操作结果:两部分按升序排列,则返回1,否则返回0.
Isdescending(T)
初始条件:复数T已存在。
操作结果:两部分按降序排列,则返回1,否则返回0.
Put(&T,I,e)
初始条件:复数T已存在, 1≤i≤2.
操作结果:改变T实部或虚部的值为e.
Max(T,&e)
初始条件:复数T已存在。
操作结果:用e返回实部,虚部中较大的值。
Min(T,&e)
初始条件:复数T已存在
操作结果:用e返回实部,虚部中较小的值。
}ADT complex

b. 抽象数据类型有理数:
ADT rational{
数据对象:D={a,b|a,b为整数,且b不为0}
数据关系:R={<a,b>}
基本操作:
Initrational(&T,v1,v2)