【代码】//文件名:linklist.cpp
#include <stdio.h>
#include <malloc.h>
typedef int ElemType;
typedef struct LNode
{ ElemType data;
struct LNode *next;
} LinkNode;
void InitList(LinkNode *&L) //初始化线性表
{ L=(LinkNode *)malloc(sizeof(LinkNode));
L->next=NULL;
}
void DestroyList(LinkNode *L) //销毁线性表
{ LinkNode *pre=L,*p=pre->next;
while(p!=NULL)
{ free(pre);
pre=p;
p=p->next;
}
free(pre);
}
void CreateListF(LinkNode *L,ElemType a[],int n) //头插法建立链表
{ LinkNode *s;
for(int i=0; i<n; i++)
{ s=(LinkNode *)malloc(sizeof(LinkNode));
s->data=a[i];
s->next=L->next;
L->next=s;
}
}
void CreateListR(LinkNode *L,ElemType a[],int n) //尾插法建立链表
{ LinkNode *s,*r;
r=L;
for(int i=0; i<n; i++)
{ s=(LinkNode *)malloc(sizeof(LinkNode));
s->data=a[i];
r->next=s;
r=s;
}
r->next=NULL;
}
bool Li