python数据结构之顺序表


基础实验1 实现顺序表的基本操作


实验目的:理解线性表的顺序存储结构,并掌握顺序表的基本操作。


实验要求:创建文件,在其中编写一个顺序表的类,该类必须包含顺序表的定义及基本操作,并通过以下步骤测试基本操作的实现是否正确。


(1)初始化一个顺序表SL。
(2)判断SL是否为空。
(3)将元素2、5、16、55、8依次存入SL中。
(4)输出SL中元素的个数。
(5)获取SL中元素5的位置。
(6)在元素5之后插入元素11。
(7)删除值为16的元素。
(8)将SL中元素依次输出。
(9)销毁SL。
 

class SquenceList:
    def __init__(self):
        self.Seqlist = []
#初始化创建一个空表

    def CreateSquenceList(self):
        Element = input("请输入元素:")
        while Element != '#':
            self.Seqlist.append(int(Element))
            Element = input("请输入元素:")
#创建一个顺序表,直到输入“#” 停止

    def IsEmpty(self):
        if len(self.Seqlist) == 0:
            print("该表为空表")
        else:
            print("该表不为空表\n")
#判断该顺序表是否为空表

    def NumEle(self):
        print(f"该表中元素个数为:{len(self.Seqlist)}\n")
#计算顺序表中的个数

    def GetEle(self):
        Element = int(input("请输入你想要获取位置的元素:"))
        if Element in self.Seqlist:
            ipos = self.Seqlist.index(Element)
            print(f"该元素的位置为:{ipos + 1}\n")
        else:
            print("该元素不在顺序表中")
#获取元素在表中的位置

    def InsertEle(self):
        Element = int(input("请输入你想要插入表中的元素:"))
        key = int(input("请输入你想要插入表中元素后面的元素:"))
        if key in self.Seqlist:
            ipos = self.Seqlist.index(key)
            self.Seqlist.insert(ipos + 1, Element)
            print(f"顺序表的元素为:{self.Seqlist}\n")
        else:
            print("位置信息可能错误")
#将元素插入表中指定元素位置之后

    def InsertEle2(self):
        Element = int(input("请输入你想要插入表中的元素:"))
        ipos = int(input("请输入你想要插入表中的位置:"))
        self.Seqlist.insert(ipos, Element)
#将元素插入表中指定位置

    def DeleteEle(self):
        Element = int(input("请输入你想要删除的元素:"))
        if Element in self.Seqlist:
            ipos = self.Seqlist.index(Element)
            self.Seqlist.remove(self.Seqlist[ipos])
            print(f"顺序表的元素为:{self.Seqlist}\n")
        else:
            print("该顺序表无该元素")
#删除表中元素

    def Traverselist(self):
        length = len(self.Seqlist)
        for i in range(0, length):
            print(f"该顺序表中第{i + 1}的元素有:{self.Seqlist[i]}")
#遍历整个顺序表

    def Distorylist(self):
        del self.Seqlist
#销毁整个顺序表

sl = SquenceList()
sl.CreateSquenceList()
sl.IsEmpty()
sl.NumEle()
sl.GetEle()
sl.InsertEle()
sl.DeleteEle()
sl.Traverselist()
sl.Distorylist()
下期预告------python数据结构之链表

不定期更新  如有不足  欢迎指正!

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值