赞
踩
单链表顾名思义,就是指单项链表,即只有一个方向的链性线性表。
如下图所示,即为链表(DATA为我们自己所定义的数据类型):
单链表分为两个部分:
(1)数据部分(通过自定义即可,下方代码为结构体DATA)
(2)指向部分(通过指针来实现)
- typedef struct LNode
- {
- DATA data;
- struct LNode* next;
- };
链表初始化的过程与我们的动态顺序表的初始化相近,只不过在给其初始化时除了给链表开辟空间,同时要使其 next 的指针指向NULL(空节点)。
- void creat(LNode*& L)
- {
- L = (LNode*)malloc(sizeof(LNode));
- L->next = NULL;
- }
遍历整个链表,每到一个节点就加一,当到下一个节点指向NULL停止。
代码:
- int Len(LNode* L)
- {
- int length = 0;
- LNode* p;
- p = L->next;
- while (p != NULL)
- {
- length++;
- p = p->next;
- }
- return length;
- }
其余用法与链表的长度判断相近,再此不过多解释。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。