抽象数据结构三元组的实现(《数据结构》严蔚敏)
最近学了一段时间严蔚敏的数据结构,想着把抽象数据类型三元组上机实现一下,才发现自己存在很多问题,在优快云里面看了很多大佬的代码,但是发现一个普遍的问题,C语言代码里面用到了C++里面的引用传递,但是这在我的Mac上的Xcode上面编译不了,所以花了一两天时间理解指针和数组以及引用传递、值传递和指针传递。并且手动编写了自己的代码。这篇文章写给那些和我有一样问题的朋友。
代码如下:
#include <stdio.h>
#include <stdlib.h>
#define ERROR 0
#define OK 1
#define OVERFLOW -1
typedef int Status;
typedef int ElemType;
typedef ElemType *Triplet;
Status InitTriplet(Triplet *T,ElemType v1,ElemType v2, ElemType v3)
{
*T = (ElemType*)malloc(3*sizeof(ElemType));
if(!T)exit(OVERFLOW);
(*T)[0] = v1;
(*T)[1] = v2;
(*T)[2] = v3;
return OK;
}
Status DestoryTriplet(Triplet *T)
{
free(*T);