线性表的链式存储实际上就是链表
#include <stdio.h>
#include <malloc.h>
#define ElemType int
#define OK 1
#define ERROR 0
/*********线性表的单链表存储结构*********/
typedef struct LNode
{
ElemType data; //数据域
struct LNode *next; //指针域
}LNode,*LinkList;
/********创建链表**********/
int CreatLink(LinkList &L)
{
L = (LinkList)malloc(sizeof(LNode));
L->next = NULL;
return OK;
}
/***********插入功能函数的实现***********/
int ListInsert_L(LinkList &L,int i,ElemType e)
{
//在带头节点的单链线性表L中第i个位置之前插入元素e
LinkList p,s;
int j;
p = L;
j = 0;
while(p && j < i-1) //寻找第i-1个结点
{
p = p->next;
++j;
}
if(!p || j > i-1) // 位置不合法
return ERROR;
s = (LinkList)malloc(sizeof(LNode));//生成新节点
s->next = NULL;
s->data = e;
s->next = p->next; //将新结点插入链表中
p->next = s;
return OK;
}
/**********查找功能函数的实现***