抽象数据类型Triplet和ElemType的基本操作(8个)

抽象数据类型Triplet和ElemType的基本操作(8个)抽象数据类型Triplet和ElemType的基本操作(8个)//采用动态分配的顺序存储结构typedefElemType*Triplet;//由InitTriplet分配3个元素存储空间//Triplet类型是ElemType类型的指针,存放ElemType类型的地址StatusInitTriplet(Triplet&T,ElemTypev1,ElemType

大家好,又见面了,我是你们的朋友全栈君。

抽象数据类型Triplet和ElemType的基本操作(8个)

// 采用动态分配的顺序存储结构
 typedef ElemType *Triplet; // 由InitTriplet分配3个元素存储空间
 // Triplet类型是ElemType类型的指针,存放ElemType类型的地址

 Status InitTriplet(Triplet &T,ElemType v1,ElemType v2,ElemType v3)
 { // 操作结果:构造三元组T,依次置T的3个元素的初值为v1,v2和v3
   if(!(T=(ElemType *)malloc(3*sizeof(ElemType))))
     exit(OVERFLOW);
   T[0]=v1,T[1]=v2,T[2]=v3;
   return OK;
 }

 Status DestroyTriplet(Triplet &T)
 { // 操作结果:三元组T被销毁
   free(T);
   T=NULL;
   return OK;
 }

 Status Get(Triplet T,int i,ElemType &e)
 { // 初始条件:三元组T已存在,1≤i≤3。操作结果:用e返回T的第i元的值
   if(i<1||i>3)
     return ERROR;
   e=T[i-1];
   return OK;
 }

 Status Put(Triplet T,int i,ElemType e)
 { // 初始条件:三元组T已存在,1≤i≤3。操作结果:改变T的第i元的值为e
   if(i<1||i>3)
     return ERROR;
   T[i-1]=e;
   return OK;
 }

 Status IsAscending(Triplet T)
 { // 初始条件:三元组T已存在。操作结果:如果T的3个元素按升序排列,返回1,否则返回0
   return(T[0]<=T[1]&&T[1]<=T[2]);
 }

 Status IsDescending(Triplet T)
 { // 初始条件:三元组T已存在。操作结果:如果T的3个元素按降序排列,返回1,否则返回0
   return(T[0]>=T[1]&&T[1]>=T[2]);
 }

 Status Max(Triplet T,ElemType &e)
 { // 初始条件:三元组T已存在。操作结果:用e返回指向T的最大元素的值
   e=T[0]>=T[1]?T[0]>=T[2]?T[0]:T[2]:T[1]>=T[2]?T[1]:T[2];
   return OK;
 }

 Status Min(Triplet T,ElemType &e)
 { // 初始条件:三元组T已存在。操作结果:用e返回指向T的最小元素的值
   e=T[0]<=T[1]?T[0]<=T[2]?T[0]:T[2]:T[1]<=T[2]?T[1]:T[2];
   return OK;
 }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/144640.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • dpkg用法详解_dpkg -l

    dpkg用法详解_dpkg -ldpkg是一个Debian的一个命令行工具,它可以用来安装、删除、构建和管理Debian的软件包。下面是它的一些命令解释:1)安装软件命令行:dpkg-i示例:dpkg-iavg71flm_r28-1_i386.deb2)安装一个目录下面所有的软件包命令行:dpkg-R示例:dpkg-R/usr/local/src3)释放软件包,但是不进行配置命令

  • Windows7在自由的虚拟机(微软官方虚拟机)

    Windows7在自由的虚拟机(微软官方虚拟机)

    2021年12月17日
  • 不同网段实现全网互通的方式_同一网段无法互通

    不同网段实现全网互通的方式_同一网段无法互通实现不同网段vlan互访【实验拓扑】【实验过程】一.二层设备依据拓扑创建vlan,实现同vlan互访。1.sw1创建vlan100、vlan200.2.将接口加入相应的vlan。验证:二、实现跨交换机相同vlan互访。1.sw1、sw2开启trunk,并允许vlan通过。创建vlan100、vlan200,并将接口加入对应的vlan。验证是否跨交换机相同vlan可以互访。三、配置单臂路由。实现不同vlan可以互访。1.配置子接口,充当vlan100

  • C++学生选课系统 【含 代码】

    C++学生选课系统 【含 代码】1.系统分析本系统的用户分为普通用户和管理员两类,其中普通用户包括教师和学生。普通用户只能对自己的信息进行查询与修改,管理员则拥有所有功能权限。1.1模块划分学生选课系统,在登录模块之后,根据系统用户的身份不同划分为三个模块,即:学生模块、教师模块和管理员模块。1.2功能模块描述(1)登录模块登录模块用于用户身份选择与用户登录,完成基本的验证。根据所填信息进行…

    2022年10月15日
  • Marsaglia XORshift随机数算法「建议收藏」

    Marsaglia XORshift随机数算法「建议收藏」引理:二进制矩阵相乘中加法为异或。给定非空向量beta和n阶矩阵T,序列beta*T,beta*T^2,beta*T^3,…的秩为2^n-1的充要条件是矩阵T为非奇异矩阵.L是左移位操作,y=y^(y>b)表示为y=y*(E+R^b),令T=(E+L^a)(E+R^b),n=32或64,找不到这样的非奇异矩阵。但是令T=(E+L^a)*(E+R^b)*(E+L^c)能找

  • 在总线周期的t1,t2,t3,t4状态,cpu_cpu总线分为

    在总线周期的t1,t2,t3,t4状态,cpu_cpu总线分为第一关:MIPS指令译码器设计要求我们设计译码器,那么首先要知道要指令的具体格式,通过查阅MIPS指令手册可以知道OPFuncSLT000000101010BEQ000100/ADDI001000/LW100011/SW101011/于是将获得的OP、Func和常数对比就行,相同输出1以下给出例子:第2关:定长指令周期—时序发生器FSM设计根据下图,知道次态和原态之间的关系。输入输出:法1:填写表格,生成表达式:

    2022年10月13日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号