数据结构c语言中实现线性表的初始化、插入、删除和显示功能的是什么?
#include<stdio.h>
#include<malloc.h>
#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)