小弟新说数据结构,有关数据结构连表的不解
小弟新说数据结构,有些基本概念不清楚,请教教我,不胜感激!!!
看书上的例子是
....
struct Stu{
long number;
float score;
Stu *next;
};
Stu *head;
Stu *Create()
{
Stu *pS; // 创建的结点指针
Stu *pEnd; // 链尾指针
pS = new Stu; // 新建一个结点,准备插入链表
cin>>pS->number>>pS->score;
head = NULL; // 开始链表为空
pEnd = pS;
pEnd->next = NULL;
delete pS;
return (head);
}
有关create函数有几点不明白
1、pS = new Stu; // 新建一个结点,准备插入链表
cin>>pS->number>>pS->score;
这里分配了堆空间并且赋值,是不是说这是链表的第 1 个结点?那为什么后来有delete pS,删除这个结点呢?
2、如果1中所提的pS是第一个结点,那head不应该纪录下这第一个结点的地址吗?为什么却是纪录NULL呢?
3、如果pS不是第一个结点, pEnd = pS又怎么解释呢?