抽象数据结构的代码实现

抽象数据类型可以通过固有的数据类型(如整型,实型,字符型等)来表示和实现。即利用处理器中已经存在的数据类型来说明新的数据结构,用已经实现的操作来组合新的操作。
例:计算两个复数的加减;

#include<stdio.h> 
typedef struct				//复数类型 
{
	float Realpart;			//实部 
	float Imagepart; 		//虚部 
}Complex;
Complex Create(float x, float y)
{	//构造一个复数
	Complex C;
	C.Realpart = x;
	C.Imagepart = y;
	return C;
}
Complex Add(Complex C1, Complex C2) 
{	//求两个复数的和sum 
	Complex sum;
	sum.Imagepart  = C1.Imagepart + C2.Imagepart;
	sum.Realpart = C1.Realpart + C2.Realpart;
	return sum;
}
Complex Sub(Complex C1, Complex C2) 
{	//求两个复数的差Sub 
	Complex difference;
	difference.Imagepart = C1.Imagepart - C2.Imagepart;
	difference.Realpart = C1.Realpart - C2.Realpart;
	return difference;
}
int main()
{
	Complex C1, C2, C;
	float x1,y1,x2,y2;
	char op;
	printf("请输入两个复数\n");
	scanf("%f%fi%c%f%fi", &x1, &y1, &op, &x2, &y2);
	C1 = Create(x1, y1);
	C2 = Create(x2, y2);
	switch(op)
	{
		case'+': C = Add(C1, C2);break;
		case'-': C = Sub(C1, C2);break;		
	}
	if(C.Imagepart < 0) printf("%.2f %.2fi", C.Realpart, C.Imagepart);//如果结果是实部-虚部,不对输出进行操作。
	else printf("%.2f + %.2fi", C.Realpart, C.Imagepart);//如果结果是实部+虚部,需要在虚部前加+;
}

文章借鉴:《数据结构》(C语言版)(第二版)人民邮电出版社;青岛大学–王卓老师

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值