bo1-1.cpp 抽象数据类型Triplet和ElemType(由c1-1.h定义)的基本操作(8个)

这篇博客展示了如何使用C语言实现抽象数据类型Triplet,包括构造、销毁、获取元素、设置元素、判断升序、降序、求最大值和最小值等8个基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
  1. // bo1-1.cpp 抽象数据类型Triplet和ElemType(由c1-1.h定义)的基本操作(8个)
  2.  Status InitTriplet(Triplet &T,ElemType v1,ElemType v2,ElemType v3)
  3.  { // 操作结果:构造三元组T,依次置T的3个元素的初值为v1,v2和v3
  4.    if(!(T=(ElemType *)malloc(3*sizeof(ElemType))))
  5.      exit(OVERFLOW);
  6.    T[0]=v1,T[1]=v2,T[2]=v3;
  7.    return OK;
  8.  }
  9.  Status DestroyTriplet(Triplet &T)
  10.  { // 操作结果:三元组T被销毁
  11.    free(T);
  12.    T=NULL;
  13.    return OK;
  14.  }
  15.  Status Get(Triplet T,int i,ElemType &e)
  16.  { // 初始条件:三元组T已存在,1≤i≤3。操作结果:用e返回T的第i元的值
  17.    if(i<1||i>3)
  18.      return ERROR;
  19.    e=T[i-1];
  20.    return OK;
  21.  }
  22.  Status Put(Triplet T,int i,ElemType e)
  23.  { // 初始条件:三元组T已存在,1≤i≤3。操作结果:改变T的第i元的值为e
  24.    if(i<1||i>3)
  25.      return ERROR;
  26.    T[i-1]=e;
  27.    return OK;
  28.  }
  29.  Status IsAscending(Triplet T)
  30.  { // 初始条件:三元组T已存在。操作结果:如果T的3个元素按升序排列,返回1,否则返回0
  31.    return(T[0]<=T[1]&&T[1]<=T[2]);
  32.  }
  33.  Status IsDescending(Triplet T)
  34.  { // 初始条件:三元组T已存在。操作结果:如果T的3个元素按降序排列,返回1,否则返回0
  35.    return(T[0]>=T[1]&&T[1]>=T[2]);
  36.  }
  37.  Status Max(Triplet T,ElemType &e)
  38.  { // 初始条件:三元组T已存在。操作结果:用e返回指向T的最大元素的值
  39.    e=T[0]>=T[1]?T[0]>=T[2]?T[0]:T[2]:T[1]>=T[2]?T[1]:T[2];
  40.    return OK;
  41.  }
  42.  Status Min(Triplet T,ElemType &e)
  43.  { // 初始条件:三元组T已存在。操作结果:用e返回指向T的最小元素的值
  44.    e=T[0]<=T[1]?T[0]<=T[2]?T[0]:T[2]:T[1]<=T[2]?T[1]:T[2];
  45.    return OK;
  46.  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值