数据结构c语言中实现线性表的初始化、插入、删除和显示功能的是什么?

2025-04-01 00:49:56
推荐回答(1个)
回答1:

#include

#include

#define MAXSIZE 100

#define TRUE    1

#define FALSE   0

#define OK      1

#define ERROR   0

#define OVERFLOW -2

#define NULL    0

typedef struct LNode

{

int    data;

struct LNode *next;

}*Link,*Position;

typedef struct

{

Link head,tail;

int    len;

}LinkList;

int MakeNode(Link &p,int e)

{       

//分配由p指向的值为e的结点,并返回OK; 若分配失败,则返回ERROR

if(!(p=(Link)malloc(sizeof( Link ))))return ERROR;

p->data=e;

p->next=NULL;

return OK;

}

void FreeNode(Link &p)

{

//释放p所指的结点

free(p);

p=NULL;

}

int InitList(LinkList &L)

{

//构造一个空的线性链表L

Link p;

p=(Link)malloc(sizeof(LNode));

if(!p)return(OVERFLOW);

p->next=NULL;

L.tail=L.head=p;

L.len=0;

return OK;

}

int ClearList(LinkList &L)