顺序表是ArrayList ,是有序的,适合查找,修改,python中的list和tuple就是顺序表实现的.
链表是LinkList,无序的,适合添加,删除,队列和栈可以由链表实现也可以由顺序表实现
单链表的实现(功能:1.判断是否为空.2.长度计算.3.遍历.4.增加元素(首尾中),5.删除元素):
class Node():
def __init__(self,item):
self.item = item
self.next = None
class SingleLinkList():
def __init__(self):
self.head = None
def is_empty(self):
return self.head==None
def length(self):
count = 0
cur = self.head
while cur:
count+=1
cur=cur.next
return count
def add_first(self,item):
node = Node(item)
if self.head == None:
self.head = node
else:
node.next = self.head
self.head = node
def add_last(self,item):
node =Node(item)
pre = None
cur = self.head
if self.head:
while cur:
pre = cur
cur = cur.next
pre.next = node
else:
self.head = node
def add_middle(self,item,pos):
node = Node(item)
pre = None
cur = self.head
count = 0
while count < pos:
count+=1
pre = cur
cur = cur.next
node.next=cur
pre.next = node
def travel(self):
cur = self.head
while cur:
print(cur.item)
cur=cur.next
def remove(self,num):
pre = None
cur = self.head
while cur.item != num:
pre = cur
cur = cur.next
pre.next = cur.next
链表和线性表
最新推荐文章于 2022-08-11 16:50:45 发布