C/C++数据结构-简单的静态链表

Triplet.h


#ifndef _TRIPLET_H_
#define _TRIPLET_H_


#include<string.h>
#include<ctype.h>
#include<malloc.h>  /* malloc()等 */
#include<limits.h>  /* INT_MAX等 */
#include<stdio.h>   /* EOF(=^Z或F6),NULL */
#include<stdlib.h>  /* atoi() */
#include<math.h> 	/* floor(),ceil(),abs() */


typedef int Status;
typedef int Boolean;
typedef int ElemType;
typedef ElemType* Triplet;

/* 初始化 */
int InitTriplet(Triplet *T,ElemType e1,ElemType e2,ElemType e3);

/* 获取指定位置元素 */
int GetElem(Triplet T,int index,ElemType *e);

/* 插入元素 */
int InsertElem(Triplet T,int index,ElemType e);

/* 修改 */
int ModifieElem(Triplet T,int index,ElemType e);

/* 输出 */
int PrintElem(Triplet T);

/* 销毁 */
int Destroy(Triplet *T);

#endif

Triplet.c


#include"Triplet.h"


/* 初始化 */
int InitTriplet(Triplet *T,ElemType e1,ElemType e2,ElemType e3)
{
	*T = (ElemType *)malloc(3 * sizeof(ElemType));
	if(*T == NULL)
	{
		return -1;
	}else{
		(*T)[0] = e1;
		(*T)[1] = e2;
		(*T)[2] = e3;
	}
	return 1;
}

/* 获取指定位置元素 */
int GetElem(Triplet T,int index,ElemType *e)
{
	if((index < 0 || index > 3)||(T == NULL))
	{
		return -1;
	}else{
		*e=T[index];
	}
	return 1;
}

/* 插入元素 */
int InsertElem(Triplet T,int index,ElemType e)
{
	if((index < 0 || index > 3)||(T == NULL))
	{
		return -1;
	}else{
		T[index]=e;
	}
	return 1;
}

/* 修改 */
int ModifieElem(Triplet T,int index,ElemType e)
{
	if((index < 0 || index > 3)||(T == NULL))
	{
		return -1;
	}else{
		T[index]=e;
	}
	return 1;
}

/* 输出 */
int PrintElem(Triplet T)
{
	int i=0;
	if(T == NULL)
	{
		return -1;
	}else{
		for(i = 0;i < 3;i++)
		{
			printf("T[%d] = %d\n",i,T[i]);
		}
	}
	return 1;
}


/* 销毁 */
int Destroy(Triplet *T)
{
	free(*T);
	*T=NULL;
	return 1;
}

main.c


#include "Triplet.h"

int main()
{
	Triplet T = NULL;
	ElemType m = -1;
	
	/* 初始化 */
	InitTriplet(&T,1,2,3);
	/* 输出 */
	PrintElem(T);
	
	
	/* 获取指定位置元素 */
	GetElem(T,2,&m);	
	printf("取出元素为:%d\n",m);

	/* 插入元素 */
	InsertElem(T,2,222);
	/* 输出 */
	PrintElem(T);
	
	
	/* 修改 */
	ModifieElem(T,3,333);
	/* 输出 */
	PrintElem(T);

	/* 销毁 */
	Destroy(&T);
	
	return 0;
}

程序输出:

T[0] = 1
T[1] = 2
T[2] = 3
取出元素为:3
T[0] = 1
T[1] = 2
T[2] = 222
T[0] = 1
T[1] = 2
T[2] = 222
 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值