数据结构实验线性表-单链表
时间: 2024-12-31 22:35:41 浏览: 16
### 数据结构实验:单链表的实现方法与示例代码
#### 单链表简介
单链表是一种常见的线性数据结构,其中每个节点包含两部分:存储的数据项以及指向下一个节点的指针。这种结构允许动态分配内存来保存任意数量的元素。
#### 改进后的单链表设计思路
为了克服传统单链表长时间使用后可能出现大量堆空间碎片化的问题,在“单链表”的内部增加了一片预留的空间,所有的`Node`对象都在这片空间中动态创建和销毁[^1]。此改进有助于减少因频繁增删操作而产生的内存碎片,从而提高程序性能。
#### Python中的单链表实现
下面是一个简单的Python版本单链表类定义及其基本功能:
```python
class Node:
def __init__(self, data=None):
self.data = data # 节点储存的数据
self.next = None # 下一节点链接
class SingleLinkedList:
def __init__(self):
self.head = None
def append(self, new_data):
newNode = Node(new_data)
if not self.head:
self.head = newNode
else:
last_node = self.head
while last_node.next:
last_node = last_node.next
last_node.next = newNode
def display(self):
current_node = self.head
while current_node is not None:
print(current_node.data,end=" -> ")
current_node = current_node.next
print("None")
# 创建并测试单链表实例
linked_list = SingleLinkedList()
elements_to_add = ['a', 'b', 'c']
for element in elements_to_add:
linked_list.append(element)
linked_list.display() # 输出 a -> b -> c -> None
```
上述代码展示了如何构建一个具有追加新节点(`append`)和遍历显示所有节点(`display`)能力的基础版单向链表。通过这种方式可以有效地管理一系列相互关联的对象,并支持高效的插入/移除操作。
阅读全文