关于单链表的头插法建立单链表,想问下建立时将L->=null;那怎么实现指向下一个结构呢?
童子佩觹 2019-11-30 03:32:56 #include <stdio.h>
#include <malloc.h>
typedef int ElemType;
typedef struct LNode
{
ElemType data;
struct LNode *next; //指向后继结点
} LinkNode; //声明单链表结点类型
void CreateListF(LinkNode *&L,ElemType a[],int n)
//头插法建立单链表
{
LinkNode *s;
L=(LinkNode *)malloc(sizeof(LinkNode)); //创建头结点
L->next=NULL; //这一步没看懂
for (int i=0;i<n;i++)
{
s=(LinkNode *)malloc(sizeof(LinkNode));//创建新结点s
s->data=a[i];
s->next=L->next; //将结点s插在原开始结点之前,头结点之后
L->next=s;
}
}
在循环里把L->赋值给了s->next,那s->next不是为空了么?还有想问的是s从0到n-1都是插入的么?L才是原来的旧链表?谢谢大家了。