初始化单链表和创建单链表有什么区别
初始化单链表和创建单链表有什么区别?
void InitList(LinkList *&L) // 初始化单链表
{
L = (LinkList *)malloc(sizeof(LinkList)); // 创建头结点
L->next = NULL;
}
void CreateList(LinkList *&L, int a[], int n) //创建单链表
{
int i;
LinkList *s;
L = (LinkList *)malloc(sizeof(LinkList)); // 创建头结点
L->next = NULL; //单链表的头结点开始为空,头结点的数据域一般无意义
for (i=0; i<n; i++)
{
s = (LinkList *)malloc(sizeof(LinkList)); //创建新结点的内存空间
s->LotteryData = a[i]; //新结点的数据域初始化
s->next = L->next; //s创建的新结点指向头结点当时所指向的结点
L->next = s; // 头结点L指向s新结点
}
}
今天在学习这个数据结构,可是个人认为:初始化单链表和创建单链表是一样的,因为这两个函数都创建头结点。
请各位高手,说一下您的理解,具体点,谢谢了