分类:N05_python
# 单链表测试
class SingleNode(object): """单链表的节点""" def __init__(self,item): #_item存放数据元素 self.item = item #_next是下一个节点的标识 self.next = None
class SingleLinkList(object): def __init__(self): self.__head = None # 初始化链表头节点为None """单链表""" def add(self,item): """头部添加元素""" node = SingleNode(item) #将新节点的链接域next指向头节点,即__head指向的位置 node.next = self.__head #将链表的头__head指向新节点 self.__head = node def print_list(self): """遍历链表并打印其元素""" current = self.__head while current: print(current.item, end=' ') current = current.next print() # 打印换行符,以便输出更整洁 def revers_list(self): current = self.__head pre = None while (current != None): next = current.next current.next = pre pre = current current = next self.__head = pre
if __name__ == "__main__": ll = SingleLinkList() ll.add(1) ll.add(2) ll.add(3) # 打印链表 ll.print_list() ll.revers_list() ll.print_list()