class Hero(object): def __init__(self,no=None,name=None,nickname=None,pNext=None): self.no = no self.name = name self.nickname = nickname self.pNext = pNext def addHero(head,hero): cur = head ####第一种 添加到聊表后面 ''' while cur.pNext != None: cur = cur.pNext cur.pNext = hero ''' #####第二种 指定添加 while cur.pNext != None: ####找到了指定位置,直接跳出while循环 if cur.pNext.no >hero.no: break ####没有找到的话 继续找 cur = cur.pNext hero.pNext = cur.pNext###本质是插入数据指向插入数据后面的内存地址 cur.pNext = hero #本质使插入数据前的pnext指向插入数据的内存地址 def getAll(head): cur = head while cur.pNext != None: cur = cur.pNext print('编号是:%s,姓名是%s,外号是%s'%(cur.no,cur.name,cur.nickname)) head = Hero() hero1 = Hero(1,'宋江','及时雨') addHero(head,hero1) hero2 = Hero(2,'卢俊义','玉麒麟') addHero(head,hero2) hero4 = Hero(4,'武松','行者') addHero(head,hero4) hero3 = Hero(3,'金莲','大嫂子') addHero(head,hero3) getAll(head)