一、SeqList.h
#ifndef _SEQLIST_H_
#define _SEQLIST_H_
typedef void SeqList;
typedef void SeqListNode;
SeqList* SeqList_Create(int capacity); //创建一个线性表
void SeqList_Destory(SeqList* list); //销毁一个线性表
void SeqList_Clear(SeqList* list); //清空一个线性表
int SeqList_Length(SeqList* list); //获取一个线性表的长度
int SeqList_Capacity(SeqList* list); //获取线性表的容量
int SeqList_Insert(SeqList* list,SeqListNode* node,int pos); //在线性表插入一个元素
SeqListNode* SeqList_Get(SeqList* list,int pos); //获取线性表某个位置的元素
SeqListNode* SeqList_Delete(SeqList* list,int pos); //删除线性表的某个元素
#endif
二、SeqList.c
#include<stdio.h>
#include<malloc.h>
#include<SeqList.h>
typedef unsigned int TSeqListNode;
typedef struct _tag_SeqList
{
int capacity; //线性表的最大容量
int length; //当前线性表的长度
TSeqListNode* node; //存储空间的起始位置
}TSeqList;
SeqList* SeqList_Create(int capacity )
{
TSeqList* ret=NULL; //地址初始化为NULL
if(capacity>=0) //最大容量大于0时,进入
{
#ifndef _SEQLIST_H_
#define _SEQLIST_H_
typedef void SeqList;
typedef void SeqListNode;
SeqList* SeqList_Create(int capacity); //创建一个线性表
void SeqList_Destory(SeqList* list); //销毁一个线性表
void SeqList_Clear(SeqList* list); //清空一个线性表
int SeqList_Length(SeqList* list); //获取一个线性表的长度
int SeqList_Capacity(SeqList* list); //获取线性表的容量
int SeqList_Insert(SeqList* list,SeqListNode* node,int pos); //在线性表插入一个元素
SeqListNode* SeqList_Get(SeqList* list,int pos); //获取线性表某个位置的元素
SeqListNode* SeqList_Delete(SeqList* list,int pos); //删除线性表的某个元素
#endif
二、SeqList.c
#include<stdio.h>
#include<malloc.h>
#include<SeqList.h>
typedef unsigned int TSeqListNode;
typedef struct _tag_SeqList
{
int capacity; //线性表的最大容量
int length; //当前线性表的长度
TSeqListNode* node; //存储空间的起始位置
}TSeqList;
SeqList* SeqList_Create(int capacity )
{
TSeqList* ret=NULL; //地址初始化为NULL
if(capacity>=0) //最大容量大于0时,进入
{