欢迎光临散文网 会员登陆 & 注册

链表的实现

2021-10-06 22:12 作者:秋名山西  | 我要投稿

作为数组的改进型,链表拥有着数组不可比拟的灵活性,即大小可以随时申请改变,而数组则必须预先将大小确定,此后再无法更改。但是,链表也具有一个特性,那就是链表必须有一个头指针,因为这是外界操作和查找链表的入口。

链表又分为单向链表和双向链表。两者均由一个个的节点组成。但是两者的节点却不尽相同,其中,单向链表的节点拥有一个指针域和一个数据域,指针域指向下一个节点的首地址,这种连接结构决定了单向链表只能单向操作,一旦错过需要操作的节点,唯一补救的办法是回到头指针遍历回来。而双向链表的节点则拥有两个指针域和一个数据域,双链表与单链表相比,多了一个前向指针。前向指针指向其前一个节点的首地址,使用起来较单向链表灵活,不存在单向链表错过需操作的节点后要遍历回来的问题。

两者节点是事项方式均可使用结构体进行实现

单向链表节点的实现:

struct node {

int data;

struct node *pNext;

}


双向链表的节点实现:

struct node{

struct node *precv;

int data;

struct node *pNext;

}


,都具有增删查改的功能。

链表的实现的评论 (共 条)

分享到微博请遵守国家法律