菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
241
0

单向链表

原创
05/13 14:22
阅读数 57418
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)

 

相关热门文章

发表评论

0/200
241 点赞
0 评论
收藏
为你推荐 换一批