帮我写一段顺序表的构成和一些基本操作的代码
时间: 2023-12-03 09:47:33 浏览: 74
好的,以下是顺序表的构成和一些基本操作的代码示例:
```python
# 定义一个顺序表类
class SeqList:
# 初始化方法,创建一个空列表
def __init__(self, maxsize):
self.maxsize = maxsize # 最大容量
self.length = 0 # 当前长度
self.data = [None] * maxsize # 存储数据的数组
# 判断顺序表是否已满
def is_full(self):
return self.length == self.maxsize
# 判断顺序表是否为空
def is_empty(self):
return self.length == 0
# 获取顺序表的长度
def get_length(self):
return self.length
# 获取指定位置的元素
def get_element(self, index):
if index < 0 or index >= self.length:
raise IndexError("Index out of range")
return self.data[index]
# 查找指定元素的索引,如果不存在则返回 -1
def find_index(self, value):
for i in range(self.length):
if self.data[i] == value:
return i
return -1
# 在指定位置插入元素
def insert(self, index, value):
if self.is_full():
raise ValueError("SeqList is full")
if index < 0 or index > self.length:
raise IndexError("Index out of range")
for i in range(self.length, index, -1):
self.data[i] = self.data[i - 1]
self.data[index] = value
self.length += 1
# 删除指定位置的元素
def delete(self, index):
if self.is_empty():
raise ValueError("SeqList is empty")
if index < 0 or index >= self.length:
raise IndexError("Index out of range")
for i in range(index, self.length - 1):
self.data[i] = self.data[i + 1]
self.data[self.length - 1] = None
self.length -= 1
```
以上是一个简单的顺序表类,包含了初始化、判断是否满、判断是否为空、获取长度、获取指定位置的元素、查找元素的位置、插入元素、删除元素等基本操作。其中,初始化方法接收一个整数参数表示最大容量,创建一个空列表;is_full 方法判断列表是否已满;is_empty 方法判断列表是否为空;get_length 方法获取列表长度;get_element 方法获取指定位置的元素;find_index 方法查找指定元素的位置;insert 方法在指定位置插入元素;delete 方法删除指定位置的元素。你可以根据自己的需求进行修改和扩展。
阅读全文