基础实验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数据结构之链表
不定期更新 如有不足 欢迎指正!