严蔚敏版数据结构例1-7实例

本文介绍了一个三元组数据结构的初始化、销毁、获取、设置、判断递增和递减属性、查找最大值和最小值的操作方法。

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

#include<cstdio>
#include<cstdlib>
using namespace std; 


#define OK   1       //程序正常结束 
#define ERROR 0      //程序失败
typedef int Status;  //返回整数
typedef int* Triplet; //定义Triplet为整形指针


Status InitTriplet(Triplet &T,int v1,int v2,int v3)
{
       T=(Triplet)malloc(3*sizeof(int));//分配三个存储空间
       if(!T)exit(ERROR);  //分配存储空间失败
       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,int &e)
{
       if(i<1 || i>3)return ERROR;
       e=T[i-1];
       return OK; 
}
Status Put(Triplet T,int i,int 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,int &e)
{
       e=(T[0]>=T[1])?T[0]:T[1];
       e=(e>=T[2])?e:T[2];
       return OK; 
}
Status Min(Triplet T,int &e)
{
       e=(T[0]<=T[1])?T[0]:T[1];
       e=(e<=T[2])?e:T[2];
       return OK; 
}


int main()
{
    Triplet L;
    InitTriplet(L,3,4,5);
    int e;
    Get(L,2,e);
    printf("%d\n",e);
    Put(L,1,2);
    Get(L,1,e);
    printf("%d\n",e);
    if(IsAscending(L))printf("%s\n","OK");
    if(IsDescending(L))printf("%s\n","Ok");
    Max(L,e);
    printf("%s%d\n","Max is ",e);
    Min(L,e);
    printf("%s%d\n","Min is ",e);
    system("pause");
    return 0;
}

i=(x>y)?x:y


当x>y时,i=x;否则x=y.

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值