一、链表的概念
链表是一种顺序表,其特点是在每一个节点里存放下一个节点的位置信息,用指针指向下一个节点,从而实现灵活存取。
链表
单链表的每个节点包含两个域,信息域和链接域,链接域指向链表的下一个节点,最后一个节点的链接域指向空值。
1.elem 用来存放具体数据
2.链接域next用来存放下一个节点的位置
3.变量p指向链表的首节点,从p出发能找到表中的任意一个节点
二、链表的代码实现
(一)创建节点类
class SingleNode(object):
"""单链表的节点"""
def __init__(self, item):
# 使用item存放数值,将其初始化
self.item = item
# next为指针,创建一个新节点,下一个节点为空,故指针指向None
self.next = None
(二)创建链表类
class SingleLinkList(object):
"""单链表"""
def __init__(self):
self._head = None
def is_empty(self):
"""判断单链表是否为空"""
return self._head == None
# 头节点为none,则链表为空
def length(self):
"""查看链表长度"""
cur = self._head # cur初始时指向头节点
count = 0 # 计数器初始时为0
while cur != None:
count += 1
cur