数据结构之链表
链表节点定义
只要获得链表的头结点,就可以通过指针遍历整条链表,一个链表节点可用C语言描述如下:
typedef struct node{
ElemType data; /*数据域*/
struct node *next; /*指针域*/
}LNode;*LinkList;
这里提一下,以下两种声明方式是等价的:
LNode *L;
和
LinkList L;
下面介绍关于链表的操作函数
创建一个链表:
LinkList CreatLinkList(int n){
/*建立一个长度为n的链表*/
LinkList p,r,list=NULL;
ElemType e;
int i;
for(i=1;i<=n;i++){
scanf("node_%d=%d\n",&i,&e);
p=(LinkList)malloc(szieof(LNode));
p->data=e;
p->next=NULL;
if(!list)
list=p;
else
r->next=p;
r=p;
}
return list;
}
向链表插入节点: