抽象数据类型Triplet的表示和实现

论坛 期权论坛 脚本     
已经匿名di用户   2022-7-2 21:58   1819   0
typedef ElemType *Triplet

Status InitTriplet(Triplet &T, ElemType v1, ElemType v3)
{
 T = (Elemtype*)malloc(3*sizeof(Elemtype));
 if(!T) exit(OVERFLOW);
 T[0] = v1; T[1] = v2; T[2] = v3;
 return OK;
}

Status DestroyTriplet(Triplet &T)
{
 free(T); T = NULL;
 return OK;
}

Status Get(Triplet T, int i, ElemType &e)
{
 if(i<1 || i>3) return ERROR;
 e = T[i-1];
 return OK;
}

Status Put(Triplet &T, int i, ElemType e)
{
 if(i<1 || i>3)  return ERROR;
 T[i-1] = e;
 return OK;
}

Status IsAscending(Triplet T)
{
 return (T[0] <= T[1])&&(T[1] <= T[2]);
}

Status IsDescending(Triplet T)
{
 return (T[0] >= T[1])&&(T[1] >= T[2])
}

Status Max(Triplet T, ElemType &e)
{
 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)
{
 e = (T[0] <= T[1])?((T[0] <= T[2])?T[0]:T[2]):((T[1] <= T[2])?T[1]:T[2]);
 return OK;
}


分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:81
帖子:4969
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP