用c语言实现《数据结构与算法(严蔚敏版)》三元组的基本操作
(大二数据结构课的Lab1)
以下源代码(因为对指针不太清楚,所以用到了c++中的引用,而且这也是书中所给算法框架的做法)
#include <stdio.h>
#include <stdlib.h>
typedef int Status;
typedef int ElemType;
typedef ElemType* Triplet;
#define OK 1
#define ERROR 2
#define True 1
#define False 0
#define OVERFLOW -2
//构造三元组
Status InitTriplet (Triplet &T, ElemType v1, ElemType v2, ElemType v3);
//销毁三元组
Status DestroyTryplet (Triplet &T);
//用e返回T的第i元的值
Status Get (Triplet T, ElemType i, ElemType &e);
//改变T的第i元的值为e
Status Put (Triplet &T, ElemType i, ElemType e);
//如果T的三个元素升序排列,返回1,否则返回0
Status IsAscending (Triplet T);
//如果T的三个元素降序排列,返回1,否则返回0
Status IsDescending (Triplet T);
//用e返回T的3个元素中的最大值
Status Max (Triplet T, ElemType &e);
//用e返回T的3个元素中的最小值
Status Min (Triplet T, ElemType &e);
Status Min (Triplet T, ElemType &e)
{
e = T[0