抽象数据结构三元组的实现(《数据结构》严蔚敏)

本文介绍了在学习严蔚敏《数据结构》时,作者针对抽象数据类型三元组的C语言实现过程。作者在实现过程中遇到C++引用传递在C语言中不适用的问题,于是在Xcode环境下通过理解指针、数组及指针传递解决了问题。文章分享了手动编写的代码,并强调了形参中指针的使用规则以及实参传递时需传地址的重要性。

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

抽象数据结构三元组的实现(《数据结构》严蔚敏)

最近学了一段时间严蔚敏的数据结构,想着把抽象数据类型三元组上机实现一下,才发现自己存在很多问题,在优快云里面看了很多大佬的代码,但是发现一个普遍的问题,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);
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值