用静态分配建立顺序表 代码操作
时间: 2024-12-02 21:19:59 浏览: 0
在使用静态分配创建顺序表(也称为数组列表)时,我们预先确定了表的大小,并将所有元素一次性存储在连续的内存空间里。这种做法通常用于已知固定大小的情况,例如,学生信息表如果有固定的班级人数。
以下是一个简单的Python示例,展示如何使用静态分配创建一个顺序表并进行基本的操作(添加和访问元素):
```python
class StaticSequentialList:
def __init__(self, capacity):
self.data = [None] * capacity
self.size = 0
# 添加元素到列表末尾
def add(self, item):
if self.size < len(self.data): # 如果未满,直接添加
self.data[self.size] = item
self.size += 1
else: # 否则,需要动态扩展列表
new_capacity = len(self.data) * 2 # 新容量通常是当前的两倍
new_data = [None] * new_capacity
for i in range(len(self.data)):
new_data[i] = self.data[i]
self.data = new_data # 更新数据
self.data[self.size] = item
self.size += 1
# 访问指定位置的元素
def get(self, index):
if 0 <= index < self.size:
return self.data[index]
else:
raise IndexError("Index out of range")
# 使用示例
list1 = StaticSequentialList(5)
list1.add('A')
list1.add('B')
print(list1.get(0)) # 输出 'A'
```
阅读全文