写一个程序,在顺序表中存入若干个元素,并分别编写三个函数,实现如下功能: 在顺序表a的第i个位置插入元素x; 删除第i个位置的元素; 查找指定位置的元素值。
时间: 2023-05-30 12:06:05 浏览: 126
编写函数,建立一个顺序表并输出,计算该顺序表的长度。 实现在顺序表中查找第i个元素的值。实现在顺序表中第i个位置上插入值为x的
5星 · 资源好评率100%
```python
MAX_SIZE = 100 # 定义顺序表最大长度
class SqList:
def __init__(self):
self.data = [0] * MAX_SIZE # 初始化顺序表
self.length = 0 # 当前顺序表长度
def insert(self, i, x):
"""
在顺序表a的第i个位置插入元素x
"""
if i < 1 or i > self.length + 1: # 判断i的范围是否合法
print("Error: 插入位置不合法")
return False
if self.length >= MAX_SIZE: # 判断顺序表是否已满
print("Error: 顺序表已满")
return False
for j in range(self.length, i - 1, -1): # 将i及以后的元素后移一位
self.data[j] = self.data[j - 1]
self.data[i - 1] = x # 插入元素x
self.length += 1 # 长度+1
return True
def delete(self, i):
"""
删除第i个位置的元素
"""
if i < 1 or i > self.length: # 判断i的范围是否合法
print("Error: 删除位置不合法")
return False
for j in range(i - 1, self.length - 1): # 将i之后的元素前移一位
self.data[j] = self.data[j + 1]
self.length -= 1 # 长度-1
return True
def find(self, i):
"""
查找指定位置的元素值
"""
if i < 1 or i > self.length: # 判断i的范围是否合法
print("Error: 查找位置不合法")
return None
return self.data[i - 1] # 返回第i个元素的值
if __name__ == '__main__':
a = SqList() # 创建顺序表对象
a.insert(1, 10) # 在第1个位置插入元素10
a.insert(2, 20) # 在第2个位置插入元素20
a.insert(3, 30) # 在第3个位置插入元素30
a.insert(4, 40) # 在第4个位置插入元素40
a.delete(2) # 删除第2个位置的元素
print(a.find(3)) # 查找第3个位置的元素
```
阅读全文