基于Python实现严蔚敏版顺序表基本操作

基于Python实现顺序表基本操作

1. 项目背景

​ 基于严蔚敏数据结构中顺序表思想,本人编写了Python语言的顺序表。感谢一些博主的文章,帮助我完成本项目。严蔚敏书中顺序表操作方法,已在本项目实现。

2. 项目结构

基于严蔚敏数据结构中顺序表思想,本人编写了Python语言的顺序表。感谢一些博主的文章,帮助我完成本项目。严蔚敏书中顺序表操作方法,已在本项目实现。
在这里插入图片描述在这里插入图片描述

3. 项目函数

3.1 初始化

在__init__(self, Listsize)方法里,我将顺序表最大值让用户自己传入,以便自己修改。self.elem是顺序表中的存储区域,self.elem中下标为0的元素设为’Linear_logo’并作为顺序表创建的标志。为什么将self.elem中下标为0的元素设为’Linear_logo’?因为在严蔚敏版本的顺序表中,self.elem中下标0内存区域不存储数据,只有下标1的存储区域存数据。self.elem中下标为0是可以存储数据,只不过本项目为贴近严蔚敏的思想才编写。
self.length是顺序表的长度,这个长度是根据实际情况变化。
self.Listsize是顺序表的最大存储空间,如果顺序表长度大于最大存储空间,会自动扩空间,或者就是报错。
self.increment是顺序表的增量,如果要增加一个空间则可使用这个变量。但是,在本项目实现时,self.increment这个变量可以不设。

    def __init__(self, Listsize):
        self.elem = ['Linear_logo']
        self.length = len(self.elem)
        self.Listsize = Listsize
        self.increment = 1

3.2 插入函数

插入操作函数是根据严蔚敏书中所写思想编写的,但是就是一些判断条件和书中写的位置不一致。

    def ListInsert(self, pos, item):
        if pos < 1 | pos > self.length + 1:
            return IndexError
        if pos == self.length:
            self.elem += [item]
            self.length += self.increment
        else:
            for i in range(self.length - 1, pos + 1, -1):
                self.elem[i] = self.elem[i - 1]
            self.elem[pos] = item
            if len(self.elem) <= (self.Listsize - 
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烤鲅鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值