数据结构清华大学出版社三元组(严蔚敏)(第一次写这个不喜勿喷也是刚入门的小白,希望大佬可以指点一下)

数据结构清华大学出版社三元组(严蔚敏)

思路的构建 三元组的实现首先搭建必要的头文件以及相关函数的编写,最后通过主函数调用实现最终的功能。
数据集
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;
}

运行截图

下面是完成的代码:可以免费下载
代码下载

posted @ 2019-04-11 12:53  阳神  阅读(254)  评论(0编辑  收藏  举报