当前位置: 首页 > news >正文

数据结构中抽象数据类型如何实现?

抽象数据类型可以通过固有的数据类型(如整形,实型,字符型等)来表示和实现。

即利用处理器中已存在的数据类型来说明新的结构,用已经实现的操作来组合新的操作

用类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.............                    //写函数对其进行计算

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • python实现RPC算法
  • Android 优雅封装Glide
  • Iceberg与SparkSQL整合DDL操作
  • el-table使用type=“expand”根据数据条件隐藏展开按钮
  • Ceph集群维护相关操作
  • 图特征工程实践指南:从节点中心性到全局拓扑的多尺度特征提取
  • 《系统架构设计师教程(第2版)》第17章-通信系统架构设计理论与实践-02-广域网网络架构
  • 解决MongoDB创建用户报错command createUser requires authentication
  • 设计模式-行为型模式-迭代器模式
  • 【秋招笔试】9.07美团秋招改编题(研发岗)
  • 【2024高教社杯国赛A题】数学建模国赛建模过程+完整代码论文全解全析
  • 纳米材料咋设计?蛋白质模块咋用?看这里就知道啦!
  • 数学建模_缺失值处理_拉格朗日、牛顿插值(全)
  • Android流式接口请求实践
  • 设计模式学习-责任链模式
  • 【5+】跨webview多页面 触发事件(二)
  • android高仿小视频、应用锁、3种存储库、QQ小红点动画、仿支付宝图表等源码...
  • CSS 提示工具(Tooltip)
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • ES6简单总结(搭配简单的讲解和小案例)
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • HomeBrew常规使用教程
  • HTTP传输编码增加了传输量,只为解决这一个问题 | 实用 HTTP
  • nfs客户端进程变D,延伸linux的lock
  • php面试题 汇集2
  • PV统计优化设计
  • 对JS继承的一点思考
  • 分享几个不错的工具
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 记一次和乔布斯合作最难忘的经历
  • 简单易用的leetcode开发测试工具(npm)
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 免费小说阅读小程序
  • 3月27日云栖精选夜读 | 从 “城市大脑”实践,瞭望未来城市源起 ...
  • kubernetes资源对象--ingress
  • 阿里云ACE认证之理解CDN技术
  • ‌U盘闪一下就没了?‌如何有效恢复数据
  • # Redis 入门到精通(一)数据类型(4)
  • # windows 安装 mysql 显示 no packages found 解决方法
  • #ifdef 的技巧用法
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (附源码)ssm本科教学合格评估管理系统 毕业设计 180916
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (十三)MipMap
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • .htaccess 强制https 单独排除某个目录
  • .java 指数平滑_转载:二次指数平滑法求预测值的Java代码
  • .net 7 上传文件踩坑
  • .NET Framework、.NET Core 、 .NET 5、.NET 6和.NET 7 和.NET8 简介及区别
  • .NET是什么
  • .NET与java的MVC模式(2):struts2核心工作流程与原理
  • @configuration注解_2w字长文给你讲透了配置类为什么要添加 @Configuration注解