数据结构清华大学出版社三元组(严蔚敏)
思路的构建 三元组的实现首先搭建必要的头文件以及相关函数的编写,最后通过主函数调用实现最终的功能。
数据集
D={e1,e2,e3|e1,e2,e3∈ElemSet}
操作集
1.构造三元组
Status InitTriplet(Triplet &T,ElemType v1,ElemType v2,ElemType v3)
{
T=(ElemType*)malloc(3*sizeof(ElemType));
if(T==NULL)//判断是否分配成功
{
exit(OVERFLOW);
}
T[0]=v1;
T[1]=v2;
T[2]=v3;
return OK;
}
2.销毁三元组
Status DestroyTriplet(Triplet &T)
{
free(T);//先释放内存
T=NULL;
return OK;
}
3.取三元组的一个数
Status Get(Triplet &T,Status i,ElemType &e)
{
if(i<1||i>3)
{
return ERROR;
}
else
{
e=T[i-1];
}
return OK;
}
4.在三元组中存放一个数
Status Put(Triplet &T,Status i,ElemType e)
{
if(i<1||i>3)
{
return ERROR;
}
else
{
T[i-1]=e;
}
return OK;
}
5.判断三元组是否升序
Status IsAscending(Triplet T)
{
return(T[0]<T[1])&&(T[1]<T[2]);
}
6.判断三元组是否降序
Status IsDescending(Triplet T)
{
return(T[0]>T[1])&&(T[1]>T[2]);
}
7.求最大值
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;
}
8.求最小值
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;
}
运行截图
下面是完成的代码:可以免费下载
代码下载