定义
顺序表是指采用顺序存储的方式来存储数据元素的线性表。
python实现
初始化以及创建顺序表
class SequenceList:
def __init__(self):
self.SeqList = []
def CreateSequenceList(self):
Element = input("请输入(按回车键确认,按#键结束):")
while Element !='#':
self.SeqList.append(int(Element))
Element = input("请输入(按回车键确认,按#键结束):")
list_1 = SequenceList()
list_1.CreateSequenceList()
结果:
查找顺序表中某一个元素
class SequenceList:
def __init__(self):
self.SeqList = []
def CreateSequenceList(self):
Element = input("请输入(按回车键确认,按#键结束):")
while Element !='#':
self.SeqList.append(int(Element))
Element = input("请输入(按回车键确认,按#键结束):")
def FindElement(self):
key = int(input("请输入要查找的元素:"))
if key in self.SeqList:
key_pos = self.SeqList.index(key)
print("查找成功,在顺序表中的索引为:%d" % key_pos)
else:
print("查找失败,在顺序表中不存在这样的元素")
list_1 = SequenceList()
list_1.CreateSequenceList()
list_1.FindElement()
结果:
顺序表在指定位置插入元素
class SequenceList:
def __init__(self):
self.SeqList = []
def CreateSequenceList(self):
Element = input("请输入(按回车键确认,按#键结束):")
while Element !='#':
self.SeqList.append(int(Element))
Element = input("请输入(按回车键确认,按#键结束):")
def InsertElement(self):
pos = int(input('请输入要插入的位置:'))
key = int(input('请输入要插入的值:'))
print('插入前顺序表为:\n',self.SeqList)
self.SeqList.insert(pos,key)
print('插入后顺序表为:\n',self.SeqList)
list_1 = SequenceList()
list_1.CreateSequenceList()
list_1.InsertElement()
结果:
顺序表指定位置删除元素
class SequenceList:
def __init__(self):
self.SeqList = []
def CreateSequenceList(self):
Element = input("请输入(按回车键确认,按#键结束):")
while Element !='#':
self.SeqList.append(int(Element))
Element = input("请输入(按回车键确认,按#键结束):")
def DelectElement(self):
pos = int(input('请输入要删除元素的位置:'))
print('删除前的顺序表:',self.SeqList)
if pos < len(self.SeqList) and pos >= 0:
del self.SeqList[pos]
print('删除后的顺序表:',self.SeqList)
else:
print('你可真皮,长点心吧!!!')
list_1 = SequenceList()
list_1.CreateSequenceList()
list_1.DelectElement()
结果:
遍历顺序表元素:
class SequenceList:
def __init__(self):
self.SeqList = []
def CreateSequenceList(self):
Element = input("请输入(按回车键确认,按#键结束):")
while Element !='#':
self.SeqList.append(int(Element))
Element = input("请输入(按回车键确认,按#键结束):")
def TraverseElement(self):
for i in range(len(self.SeqList)):
print(self.SeqList[i],end = ' ')
list_1 = SequenceList()
list_1.CreateSequenceList()
list_1.TraverseElement()
结果:
获取顺序表中的最大值和最小值:
class SequenceList:
def __init__(self):
self.SeqList = []
def CreateSequenceList(self):
Element = input("请输入(按回车键确认,按#键结束):")
while Element !='#':
self.SeqList.append(int(Element))
Element = input("请输入(按回车键确认,按#键结束):")
def GetExtremum(self):
value = int(input("请输入序号(1是求最大值,2是求最小值,0是退出程序):"))
if value == 1:
print('顺序表最大值为:',max(self.SeqList))
elif value == 2:
print('顺序表最小值为:',min(self.SeqList))
else:
print('你si不si傻???')
list_1 = SequenceList()
list_1.CreateSequenceList()
list_1.GetExtremum()
结果:
顺序表末插入一个元素
class SequenceList:
def __init__(self):
self.SeqList = []
def CreateSequenceList(self):
Element = input("请输入(按回车键确认,按#键结束):")
while Element !='#':
self.SeqList.append(int(Element))
Element = input("请输入(按回车键确认,按#键结束):")
def AppendElement(self):
key = int(input('请输入要插入的值:'))
print('插入前的顺序表',self.SeqList)
self.SeqList.append(key)
print('插入后的顺序表',self.SeqList)
list_1 = SequenceList()
list_1.CreateSequenceList()
list_1.AppendElement()
结果:
获取顺序表中指定位置元素:
class SequenceList:
def __init__(self):
self.SeqList = []
def CreateSequenceList(self):
Element = input("请输入(按回车键确认,按#键结束):")
while Element !='#':
self.SeqList.append(int(Element))
Element = input("请输入(按回车键确认,按#键结束):")
def GetElement(self):
print('顺序表',self.SeqList)
pos = int(input('请输入要获取元素的位置:'))
if pos <len(self.SeqList) and pos>=0:
print('获取到的元素为:',self.SeqList[pos])
else:
print('请输入有效位置')
list_1 = SequenceList()
list_1.CreateSequenceList()
list_1.GetElement()
结果:
判断顺序表是否为空
class SequenceList:
def __init__(self):
self.SeqList = []
def CreateSequenceList(self):
Element = input("请输入(按回车键确认,按#键结束):")
while Element !='#':
self.SeqList.append(int(Element))
Element = input("请输入(按回车键确认,按#键结束):")
def IsEmpty(self):
if len(self.SeqList)==0:
print('顺序表为空')
else:
print('顺序表不为空')
list_1 = SequenceList()
list_1.CreateSequenceList()
list_1.IsEmpty()
结果:
销毁顺序表
class SequenceList:
def __init__(self):
self.SeqList = []
def CreateSequenceList(self):
Element = input("请输入(按回车键确认,按#键结束):")
while Element !='#':
self.SeqList.append(int(Element))
Element = input("请输入(按回车键确认,按#键结束):")
def DestorySequenceList(self):
print('销毁前顺序表为:',self.SeqList)
self.__init__()
print('销毁后顺序表为:',self.SeqList)
list_1 = SequenceList()
list_1.CreateSequenceList()
list_1.DestorySequenceList()
结果: