#define INIT_LIST_SIZE 2
#define NODE_ADD_SIZE 1
#define ElemType int
#define TRUE 1
#define FALSE 0
typedef struct sq_list{
ElemType *elem;
int length;
int size;
}sqlist;
//初始化线性表
int initlist(sqlist *l) {
l->elem = (ElemType *)malloc(sizeof(ElemType) * INIT_LIST_SIZE);
if(l->elem == NULL) return FALSE;
l->length = 0;
l->size = INIT_LIST_SIZE;
return TRUE;
}
//向线性表的尾部添加数据
int addnode(sqlist *l,ElemType e) {
if(l->length >= l->size) {
ElemType *newbase;
newbase = (ElemType *)realloc(l->elem,(l->size + NODE_ADD_SIZE) * sizeof(ElemType));
if(newbase == NULL) return FALSE;
l->elem = newbase;
l->size += NODE_ADD_SIZE;
}
ElemType *p;
p = l->elem + l->length;
*p = e;
l->length += 1;
return TRUE;
}
//向线性表中插入数据
int insertnode(sqlist *l,int i,ElemType e) {
if(i&l
C语言实现线性表
最新推荐文章于 2021-10-09 16:22:23 发布
本文介绍了使用C语言实现线性表的初始化、向尾部添加数据、插入数据、删除指定位置数据、删除特定值数据以及打印线性表内容的方法。通过示例展示了各项操作的用法。
摘要由CSDN通过智能技术生成