本文主要是介绍数据结构中抽象数据类型如何实现?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
抽象数据类型可以通过固有的数据类型(如整形,实型,字符型等)来表示和实现。
即利用处理器中已存在的数据类型来说明新的结构,用已经实现的操作来组合新的操作。
用类c语言(介于伪码和c语言之间)作为描述工具。
例如:抽象数据类型“复数”的实现
typedef sturt{
float realpart; //实部
float imagpart; //虚部
}Complex //定义复数抽象类型
具体实现:
void assign(Complex *A , float real , float imag){
A->realpart = real; //实部赋值
A->image = imag; //虚部赋值
} //End of assign()
求和
void add(Complex *c , Complex A , Complex B){ //c=A+B
c->realpart = A.realpart + B.realpart; //实部相加
c->imagpart = A.imagepart + B.imagpart; //虚部相加
}
注:Complax是定义的一个结构体
带*:指针变量,他是指向Complex类型的指针
不带*:Complex类型的普通变量
例题:z=(8+6i)(4+3i)/((8+6i)+(4+3i))
两个复数相乘除以两个复数相加
#include <stdio.h>
complex z1,z2,z3,z4,z;
float Realpart,Imagpart;
assign (z1 , 8.0 , 6.0); //构造复数z1
assign (z2 , 4.0 , 3.0); //构造复数z2
add (z1,z2,z3); //复数相加
multiply (z1,z2,z4); //复数相乘
if (divide(z4,z3,z)){ //复数相除
GetReal (z,Realpart);
Getmag (z,imagpart);
}
void............. //写函数对其进行计算
这篇关于数据结构中抽象数据类型如何实现?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!