资源预览内容
第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
亲,该文档总共3页全部预览完了,如果喜欢就下载吧!
资源描述
定义抽象数据类型“复数”ADT Complex 数据对象: De1,e2e1,e2RealSet 数据关系: R1 | e1是复数的实数部分, | e2 是复数的虚数部分 基本操作:AssignComplex( &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实例:.# include # include complex.h void main() complex z1,z2,z3,z4,z; float RealPart,ImagPart; InitComplex(z1,8.0,6.0); InitComplex(z2,4.0,3.0); Add(z1,z2,z3); Multiply(z1,z2,z4); if (Division (z4,z3,z) GetReal (z, RealPart); GetImag (z, ImagPart); /if/ -存储结构的定义typedef struct float realpart; float imagpart;complex;/ -基本操作的函数原型说明void Assign( complex &Z, float realval, float imagval );/ 构造复数 Z,其实部和虚部分别被赋以参数 / realval 和 imagval 的值float GetReal( cpmplex Z ); / 返回复数 Z 的实部值float Getimag( cpmplex Z ); / 返回复数 Z 的虚部值void add( complex z1, complex z2, complex &sum ); / 以 sum 返回两个复数 z1, z2 的和 / -基本操作的实现void add( complex z1, complex z2, complex &sum ) / 以 sum 返回两个复数 z1, z2 的和 sum.realpart = z1.realpart + z2.realpart; sum.imagpart = z1.imagpart + z2.imagpart; 其它省略 void mul(int a, int b,/矩阵相乘的算法 int c, int n) 执行次数 Inti,j,k,sum; 1 for(i=0;in;i+) n+1 for(j=0;jn;j+) n(n+1) sum=0; n2 for (k=0;kn;k+) n2(n+1) sum=sum+aik * bkj; n3 cij = sum; n2 将数组中每个元素相加后返回总和。实现该算法的程序段如下所示: 执行次数 int sum(int arr, int n) int i, total=0; 1 for(i=0; in; i+) n+1 total+=arri; n return total; 1 上述程序段中语句的执行次数总和为1+n+1+n+1=2n+3。 int a=2,5,1,7,9,.3.6,8order(int j,int m) int i,temp; if(jm) for(i=j;i=m;i+) if(apiaj) temp=ai; ai=aj; aj=temp; j+; order(j,m); main()int i;order(0,7);for(i=0;i=7;i+)Printf(“%d ”,ai);
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号