差不多上完了数据结构的课程了,但是对链表的链结点的类型定义还不清楚,不能弄透它的运用。(以下的定义是书上的,但是不能很好的理解)
typedef stuct node {
Elem Type data;
struct node * link;
} LNode,*LinkList;
1、建立一个线性链表
LinkList CREAT(int n)
{
LinkList p,r,list=NULL;
..........
}
2、求线性链表的长度
int LENGTH(LinkList list)
{
...........
}
3、在线性链表中第i个链结点后面插入一个数据信息为item的链接点
int INSERTLINK(LinkList list,int i,ElemType item)
{
............
}
4、在按值有序连接的线性链表中插入一个数据信息为item的链结点
void INSERTLINK1(LinkList &list,ElemType item)
{
..............
}
各位大哥大姐,帮下忙,红色部分的我都不能很好理解,结点的的结构定义,这样的定义我看过结构体定义了,但是变成指针类我就不懂得怎么去应用。与建立线性链表的LinkList p,r,list=NULL,是怎么利用结点的定义,使用Linklist 定义其p,r,list为空呢?为什么不是用类型int等定义的呢?
还有就是能帮我分析一下,()里面的是什么变量,我听课听到老师说过是全局变量?是吗?还有为什么有些定义变量时,有&这个符号?这代表什么意思?
最后有个小请求,能不能帮我建立个单链表,并且能在编译器里运行的,输出单链表。