单链表实现思路
在现实生活中,要排列一个队伍,有什么呢?
第一 :队伍
第二 :元素
同样在单列表中,需要构造什么呢?
- 构造元素的类,元素类生成队伍中的不同元素
- 构造列表的类,列表类即生成一个列表,列表存储不同元素
代码实现
#-*- coding=UTF-8 -*-
import time
class Nodes:
"""no doc"""
def __init__(self,value,next=None):
self.value = value
self._next = next
class LinkList:
"""no doc"""
def __init__(self,head=None):
self.head = head
def __str__(self):
pass
def append(self,value):
"""
:param value: 添加的元素
:return: None
"""
node = Nodes(value)
obj = self.head
if self.head == None:
self.head = node
else:
# 找最后一个元素
while True:
if obj._next != None:
obj = obj._next
else:
obj._next = node
break
def iternodes(self):
"""
:return: None
"""
obj = self.head
while True:
if obj == None:
break
else:
yield obj.value
obj = obj._next
#测试代码
link = LinkList()
link.append(5)
link.append(6)
link.append(7)
g = link.iternodes()
for x in g:
time.sleep(1)
print(x)
运行结果:
5
6
7