创建链表
//头插法差创建链表
typedef struct PolyNode{
int data;
struct PolyNode *next;
}LNode,*LinkList;
void CreateList(LinkList &L,int n)//此处采用C++中指针的引用,
//这样相当于传递的是:指针的指针,指针自身的数值(地址)是可更改的
{
LinkList P;
int i;
L = (LinkList) malloc (sizeof(LNode));
L->next = NULL;//带头结点的单链表
for (i = n; i>0; --i)
{
P = (LinkList) malloc (sizeof(LNode));//生成新节点
scanf("%d",%P->data);
P->next = L->next;
L->next = P;//插到表头
}
}
//尾插法创建链表
typedef struct PolyNode{
int data;
struct PolyNode *next;
}LNode,*LinkList;
void CreateList(LinkList &L,int n)
{
LinkList P,ptr;
int i;
L = (LinkList) malloc (sizeof(LNode));
ptr = L;
L->next = NULL;//带头结点的单链表
for (i = n; i>0; --i)
{
P = (LinkList) malloc (sizeof(LNode));//生成新节点
scanf("%d",%P->data);
ptr->next = P;
ptr = P;
P->next = NULL;
}
}