上一章的小结。
抽象数据类型有一定的格式定义
用c语言进行实现抽象数据类型,用已有数据类型定义描述它的存储结构,用函数定义描述它的操作。
抽象数据类型可以用固有的数据类型(如整型,实型,字符型等)来表示和实现。
我们用类c语言来实现。
例子:抽象数据类型“复数”的实现
typedef struct{
float realpart;//实部
float imagpart;//虚部
}Complex//定义复数抽象类型
void assign(Complex *A , float real , float image);//赋值
{
A->realpart=real;//实部赋值
A->imagpart=imag;//虚部赋值
}
void add(Complex *A , float real , float image);//a+b
void add(Complex *c,Complex A,Complex B)
{
c->realpart=A.realpart+B.realpart;//实部相加
c->imagpart=A.imagpart+B.imagpart;//虚部相加
}
void minus(Complex *A , float real , float imag);//a-b
void multiply(Complex *A , float real , float imag);//a*b
void divide(Complex *A , float real , float imag);//a/b
Complex z1,z2,z3,z4,z;
float RealPart , ImagPart;
assign(z1,8.0,6.0);
assign(z2,4.0,3.0);
add(z1,z2,z3);//z3=z1+z2;
multiply(z1,z2,z4);//z4=z1*z2;
if(divide(z4,z3,z)){//如果z4/z3=z
GetReal(z,RealPart);
GetReal(z,ImagPart);
}