建立一个顺序存储的线性表 包括建立插入 删除 查找
时间: 2023-12-18 13:03:44 浏览: 84
这里提供一个基于 Python 的顺序存储线性表的实现:
```python
class LinearList:
def __init__(self, max_size):
self.data = [None] * max_size
self.max_size = max_size
self.length = 0
def is_empty(self):
return self.length == 0
def is_full(self):
return self.length == self.max_size
def insert(self, index, value):
if index < 0 or index > self.length:
raise IndexError("Index out of range.")
if self.is_full():
raise Exception("List is full.")
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 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
def search(self, value):
for i in range(self.length):
if self.data[i] == value:
return i
return -1
```
在这个实现中,我们使用一个 Python 列表来存储线性表的元素,同时维护了线性表的最大容量、当前长度等信息。具体的插入、删除、查找操作的实现如下:
- 插入操作:首先判断插入位置是否合法,然后判断线性表是否已满。接下来,将插入位置及之后的元素依次后移一位,并将新元素插入到指定位置。最后,更新线性表的长度。
- 删除操作:首先判断删除位置是否合法,然后将删除位置之后的元素依次前移一位,覆盖掉待删除元素。最后,将最后一位元素设为 None,并更新线性表的长度。
- 查找操作:依次遍历线性表中的元素,查找与目标值相等的元素。如果找到,返回该元素的下标;否则返回 -1。
这样,我们就实现了一个基于 Python 的顺序存储线性表,并提供了插入、删除、查找等基本操作。
阅读全文