数据结构的问题求助

来源:互联网 发布:java ee web profile 编辑:程序博客网 时间:2024/05/22 12:04

      差不多上完了数据结构的课程了,但是对链表的链结点的类型定义还不清楚,不能弄透它的运用。(以下的定义是书上的,但是不能很好的理解)

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等定义的呢?

还有就是能帮我分析一下,()里面的是什么变量,我听课听到老师说过是全局变量?是吗?还有为什么有些定义变量时,有&这个符号?这代表什么意思?

最后有个小请求,能不能帮我建立个单链表,并且能在编译器里运行的,输出单链表。