创建名为shixun4_1.py的文件,在其中编写一个顺序表的类,该类必须至少含有两个成员变量(关键字和其他信息)及相关的基本操作,请通过以下步骤测试插入排序算法的实现是否正确。 ⑴初始化一个顺序表SSequenceList。 ⑵通过CreateSequenceListByInput()方法从键盘上将待排序记录输入顺序表SSequenceList。 ⑶调用InsertSort()方法对序列SSequenceList进行排序。 ⑷通过TraverseElementSet()方法将排序后的序列SSequenceList输出到屏幕上。
时间: 2024-03-09 11:48:07 浏览: 16
好的,我知道了。下面是代码实现:
```python
class SSequenceList:
def __init__(self):
self.key = []
self.other_info = []
def CreateSequenceListByInput(self):
n = int(input("请输入元素个数: "))
for i in range(n):
self.key.append(int(input("请输入第%d个元素的关键字: " % (i+1))))
self.other_info.append(input("请输入第%d个元素的其他信息: " % (i+1)))
def InsertSort(self):
n = len(self.key)
for i in range(1, n):
# 将第i个元素插入到前面已排序好的子序列中
j = i - 1
while j >= 0 and self.key[i] < self.key[j]:
j -= 1
self.key.insert(j+1, self.key.pop(i))
self.other_info.insert(j+1, self.other_info.pop(i))
def TraverseElementSet(self):
n = len(self.key)
for i in range(n):
print("关键字:", self.key[i], "其他信息:", self.other_info[i])
# 测试代码
if __name__ == "__main__":
s = SSequenceList()
s.CreateSequenceListByInput()
s.InsertSort()
s.TraverseElementSet()
```
你可以将以上代码保存为shixun4_1.py文件,然后在命令行运行该文件,输入待排序的元素,程序会对其进行插入排序,并输出排序后的结果。