实现顺序表的存储结构和操作 属性包括:数组、实际长度、最大长度(设定为1000) 操作包括:创建 输入 先输入n表示有n个数据,即n是实际长度;接着输入n个数据 输出 数据之间用空格隔开 输出创建后的顺序表内容,包括顺序表实际长度和数据
时间: 2024-05-06 13:19:44 浏览: 42
的具体值;插入 输入两个参数i和x,表示在第i个位置插入值为x的元素;删除 输入一个参数i,表示删除第i个位置的元素;查找 输入一个参数x,表示查找值为x的元素在顺序表中的位置。
代码如下:
```python
class SeqList:
def __init__(self):
self.data = [None] * 1000
self.length = 0
self.max_length = 1000
def create(self):
n = int(input())
for i in range(n):
self.data[i] = int(input())
self.length = n
print("创建成功,顺序表长度为", self.length)
def insert(self, i, x):
if self.length >= self.max_length:
print("顺序表已满,插入失败")
return
if i < 1 or i > self.length + 1:
print("插入位置非法,插入失败")
return
for j in range(self.length, i - 1, -1):
self.data[j] = self.data[j - 1]
self.data[i - 1] = x
self.length += 1
print("插入成功,顺序表长度为", self.length)
def delete(self, i):
if i < 1 or i > self.length:
print("删除位置非法,删除失败")
return
for j in range(i, self.length):
self.data[j - 1] = self.data[j]
self.length -= 1
print("删除成功,顺序表长度为", self.length)
def find(self, x):
for i in range(self.length):
if self.data[i] == x:
print("元素", x, "在顺序表中的位置为", i + 1)
return
print("元素", x, "不在顺序表中")
def output(self):
for i in range(self.length):
print(self.data[i], end=" ")
print("\n顺序表长度为", self.length)
```
测试代码如下:
```python
seq_list = SeqList()
seq_list.create()
seq_list.insert(3, 10)
seq_list.delete(2)
seq_list.find(5)
seq_list.output()
```
输入:
```
5
1
2
3
4
5
```
输出:
```
创建成功,顺序表长度为 5
插入成功,顺序表长度为 6
删除成功,顺序表长度为 4
元素 5 在顺序表中的位置为 3
1 3 10 4
顺序表长度为 4
```
阅读全文