创建名为shixun4_1.py的文件,在其中编写一个顺序表的类,该类必须至少含有两个成员变量(关键字和其他信息)及相关的基本操作,请通过以下步骤测试插入排序算法的实现是否正确。 ⑴初始化一个顺序表SSequenceList。 ⑵通过CreateSequenceListByInput()方法从键盘上将待排序记录输入顺序表SSequenceList。 ⑶调用InsertSort()方法对序列SSequenceList进行排序。 ⑷通过TraverseElementSet()方法将排序后的序列SSequenceList输出到屏幕上。
时间: 2024-03-09 09:48:28 浏览: 104
好的,我会为您解答这个问题。
以下是shixun4_1.py文件中顺序表的类的代码实现:
```python
class SequenceList:
def __init__(self):
self.key = []
self.info = []
def CreateSequenceListByInput(self):
n = int(input("请输入顺序表的长度:"))
for i in range(n):
k = input("请输入第{}个元素的关键字:".format(i+1))
self.key.append(k)
v = input("请输入第{}个元素的其他信息:".format(i+1))
self.info.append(v)
def InsertSort(self):
for i in range(1, len(self.key)):
j = i - 1
while j >= 0 and self.key[j] > self.key[j+1]:
self.key[j], self.key[j+1] = self.key[j+1], self.key[j]
self.info[j], self.info[j+1] = self.info[j+1], self.info[j]
j -= 1
def TraverseElementSet(self):
for i in range(len(self.key)):
print("关键字:{},其他信息:{}".format(self.key[i], self.info[i]))
```
接下来,按照您所提供的测试步骤进行测试:
```python
# 初始化一个顺序表SSequenceList
SSequenceList = SequenceList()
# 通过CreateSequenceListByInput()方法从键盘上将待排序记录输入顺序表SSequenceList
SSequenceList.CreateSequenceListByInput()
# 调用InsertSort()方法对序列SSequenceList进行排序
SSequenceList.InsertSort()
# 通过TraverseElementSet()方法将排序后的序列SSequenceList输出到屏幕上
SSequenceList.TraverseElementSet()
```
以上代码实现了插入排序算法的测试,您可以根据您的需求对代码进行修改。希望能帮助到您!
阅读全文