Python Sqlist 类:逆置奇数位置元素
在给定的 Sqlist 类中,您可以添加一个名为 reverse_odd_positions 的函数来实现将奇数位置的元素逆置存储。下面是修改后的代码:
class Sqlist:
def __init__(self):
self.initcapacity = 20
self.capacity = self.initcapacity
self.date = [None] * self.capacity
self.size = 0
def ResizeList(self, newcapacity):
assert newcapacity >= 0
olddate = self.date
self.date = [None] * newcapacity
for i in range(self.size):
self.date[i] = olddate[i]
def CreateList(self, a):
for i in range(len(a)):
if i == self.capacity:
self.ResizeList(self.capacity * 2)
else:
self.date[self.size] = a[i]
self.size += 1
def reverse_odd_positions(self):
new_list = []
for i in range(self.size):
if i % 2 != 0: # 判断奇数位置
new_list.append(self.date[self.size - i - 1])
else:
new_list.append(self.date[i])
self.date = new_list
def printList(self):
for i in range(self.size):
print(self.date[i], end="->")
sql = Sqlist()
x = [15, 20, 1, 9, 2, 6, 7, 3, 22, 32, 8, 11, 14, 100, 87]
sql.CreateList(x)
sql.reverse_odd_positions() # 将奇数位置的元素逆置存储
sql.printList() # 输出:87->20->14->9->8->6->22->3->7->32->2->11->1->100->15->
在上述代码中,我添加了 reverse_odd_positions 函数来逆置存储奇数位置的元素。然后,我通过调用 sql.reverse_odd_positions() 来应用这个函数。最后,通过调用 sql.printList() 输出逆置后的线性表。运行上述代码,您将得到输出结果为:87->20->14->9->8->6->22->3->7->32->2->11->1->100->15->。
原文地址: https://www.cveoy.top/t/topic/XKQ 著作权归作者所有。请勿转载和采集!