class SeqList:
def __init__(self, size=100):
self.Max = size
self.length = 0
self.mylist = [None for x in range(0, self.Max)]
def initt(self,i,e):
self.mylist[i]=e
self.length+=1
def ListEmpty(self):#判空
if self.length==0:
return True
else:
return False
def GetElem(self,i):#已知位置找
if not isinstance(i,int):
raise TypeError
if 1<=i<=self.length:
return self.mylist[i-1]
else:
return IndexError
def LocateElem(self,x):#已知值找
for i in range (self.length):
if self.mylist[i]==x:
return i+1
return -1
def Insert(self,i,e):#在i 上插入e
if not isinstance(i,int):
return IndexError
if self.length>=self.Max:
print("too long!!!")
if 1<=i<=self.length:
for j in range(self.length,i-1,-1):
self.mylist[j]=self.mylist[j-1]
self.mylist[i-1]=e
self.length+=1
def delete(self,i):#删除i上元素
if not isinstance(i,int):
return IndexError
if self.length>=self.Max:
print("too long!!!")
if self.ListEmpty():
print("already empty")
if 1<=i<=self.length:
for j in range(i,self.length-1):
self.mylist[j]=self.mylist[j+1]
self.length-=1
else:
raise IndexError
def print(self):
for i in range(self.length):
print( self.mylist[i] )
print('\n')
def o(A):#前奇数后偶
i=0
j=A.length-1
while i<=j:
a=A.mylist[i]
b=A.mylist[j]
if((a%2)==0):
A.mylist[j]=a
A.mylist[i]=b
j-=1
elif(b%2!=0):
A.mylist[j] = a
A.mylist[i] = b
i += 1
else:
i+=1
j-=1
if __name__=='__main__':
mylist_A=SeqList()
for i in range(0,6):
print("input a plase :")
n=int(input())
mylist_A.initt(i,n)
print("input a plase :")
n=int(input())
mylist_A.delete(n)
print("this is after delete:")
mylist_A.print()
print("is empty?")
q=mylist_A.ListEmpty()
print(q)
print('\n')
print('input a place to find value:')
n=int(input())
q=mylist_A.GetElem(n)
print(q)
print('\n')
print('判断奇偶:')
mylist_A.o()
mylist_A.print()
print('\n')
python数据结构---顺序线性表
最新推荐文章于 2024-10-01 05:04:32 发布
文章描述了一个名为`classSeqList`的Python类,用于操作一个动态大小的列表,包括初始化、插入、删除元素,获取指定位置元素,查找元素位置,以及根据奇偶性重新排列列表。示例展示了如何使用这个类进行列表操作。
摘要由CSDN通过智能技术生成