你能写一个完整的关于线性顺序表的程序吗
时间: 2024-09-30 21:10:23 浏览: 20
当然可以。这里是一个简单的线性顺序表(单链表)的Python示例,它包含了创建列表、添加元素、删除元素和打印列表等功能:
```python
class Node:
def __init__(self, data=None):
self.data = data
self.next = None
class LinearList:
def __init__(self):
self.head = None
# 添加元素到链表尾部
def append(self, data):
if not self.head:
self.head = Node(data)
else:
current = self.head
while current.next:
current = current.next
current.next = Node(data)
# 删除指定位置的元素
def remove_at(self, index):
if index < 0 or index >= self.size():
return False
if index == 0:
self.head = self.head.next
else:
current = self.head
for _ in range(index - 1):
current = current.next
if not current.next:
return False
current.next = current.next.next
# 获取链表长度
def size(self):
count = 0
current = self.head
while current:
count += 1
current = current.next
return count
# 打印链表内容
def print_list(self):
elements = []
current = self.head
while current:
elements.append(current.data)
current = current.next
print(elements)
# 示例使用
my_list = LinearList()
my_list.append(1)
my_list.append(2)
my_list.append(3)
my_list.print_list() # 输出: [1, 2, 3]
my_list.remove_at(1) # 删除索引1的元素
my_list.print_list() # 输出: [1, 3]
```
这个程序定义了一个`LinearList`类,包含`Node`类作为内部节点结构。你可以根据需要扩展这个基础框架,例如增加搜索功能等。
阅读全文