数据结构-链表
链表概念
链表是由一系列节点组成的元素集合
每个节点包含两部分,数据域item和指向下一个节点的指针next
手动创建链表
class Node: def __init__(self, item): self.item = item self.next = None a = Node(1) b = Node(2) c = Node(3) a.next = b b.next = c print(a.next.next.item)
链表操作
创建链表有头插法和尾插法
class Node: def __init__(self, item): self.item = item self.next = None #头插法 会导致倒序 # def create_linklist(li): # head = Node(li[0]) # for element in li[1:]: # node = Node(element) # node.next = head # head = node # return head #尾插法 def create_linklist(li): head = Node(li[0]) tail = head for element in li[1:]: node = Node(element) tail.next = node tail = node return head lk = create_linklist([1,2,3]) # print(lk.next.item) #链表的遍历 def print_lk(lk): while lk: print(lk.item, end=',') lk = lk.next print_lk(lk)
链表的插入
链表删除
双链表
双链表插入
双链表删除