1、 建立一个顺序表,要求从键盘输入 10 个整数,并将该顺序表的元素从屏幕显示出来。 2、编写查找函数,在上面的顺序表中查找其中一个元素,如果找到,返回该元素在顺序表中的位置和该元素的值,否则提示无此元素。要求被查找元素从键盘输入。 3、编写插入和删除函数,由用户输入待插入元素及插入位置,将完成插入后的 注意:其中顺序表的数据是随机产生,请考虑如何设计从键盘输入,并模拟它的实验结果
时间: 2024-03-22 12:37:52 浏览: 39
数据结构实验一.rar
好的,我可以为您模拟这个实验。以下是代码示例:
```python
# 定义顺序表类
class SeqList:
# 初始化
def __init__(self, size):
self.data = [0] * size
self.size = size
self.length = 0
# 插入元素
def insert(self, pos, element):
if pos < 0 or pos > self.length:
print("插入位置错误")
return False
if self.length >= self.size:
print("顺序表已满")
return False
for i in range(self.length, pos, -1):
self.data[i] = self.data[i-1]
self.data[pos] = element
self.length += 1
return True
# 删除元素
def delete(self, pos):
if pos < 0 or pos >= self.length:
print("删除位置错误")
return False
for i in range(pos, self.length-1):
self.data[i] = self.data[i+1]
self.length -= 1
return True
# 查找元素
def search(self, element):
for i in range(self.length):
if self.data[i] == element:
return i, element
print("无此元素")
return False
# 主函数
if __name__ == '__main__':
# 初始化顺序表
seq_list = SeqList(10)
# 从键盘输入 10 个整数
for i in range(10):
element = int(input("请输入第{}个整数:".format(i+1)))
seq_list.insert(i, element)
# 将顺序表元素从屏幕显示出来
print("顺序表元素为:", end='')
for i in range(seq_list.length):
print(seq_list.data[i], end=' ')
print()
# 查找元素
element = int(input("请输入要查找的元素:"))
result = seq_list.search(element)
if result:
print("元素{}在顺序表中的位置为{},值为{}".format(element, result[0], result[1]))
# 插入元素
element = int(input("请输入要插入的元素:"))
pos = int(input("请输入插入位置:"))
if seq_list.insert(pos, element):
print("插入后的顺序表元素为:", end='')
for i in range(seq_list.length):
print(seq_list.data[i], end=' ')
print()
# 删除元素
pos = int(input("请输入要删除的位置:"))
if seq_list.delete(pos):
print("删除后的顺序表元素为:", end='')
for i in range(seq_list.length):
print(seq_list.data[i], end=' ')
print()
```
下面是一组模拟的实验结果:
```
请输入第1个整数:5
请输入第2个整数:9
请输入第3个整数:3
请输入第4个整数:7
请输入第5个整数:1
请输入第6个整数:2
请输入第7个整数:8
请输入第8个整数:4
请输入第9个整数:6
请输入第10个整数:0
顺序表元素为:5 9 3 7 1 2 8 4 6 0
请输入要查找的元素:8
元素8在顺序表中的位置为6,值为8
请输入要插入的元素:10
请输入插入位置:3
插入后的顺序表元素为:5 9 3 10 7 1 2 8 4 6 0
请输入要删除的位置:9
删除后的顺序表元素为:5 9 3 10 7 1 2 8 4 0
```
阅读全文