设计一个算法,将一个带头结点的数据域
时间: 2024-09-29 19:03:24 浏览: 18
设计一个算法来插入节点到单链表的头部通常涉及以下几个步骤,假设我们有一个头指针指向链表的开始:
1. 创建新节点:首先,你需要创建一个新的节点,它包含你要插入的数据。
```python
class Node:
def __init__(self, data):
self.data = data
self.next = None
```
2. 初始化头节点:如果链表当前为空,即头节点`head`为`None`,则新节点直接成为头节点。
```python
def insert_at_head(head, data):
new_node = Node(data)
if head is None:
head = new_node
else:
```
3. 插入新节点:否则,新节点的`next`属性连接到当前头节点,然后更新头节点为新节点。
```python
new_node.next = head
head = new_node
```
4. 返回新的头节点:完成操作后,返回新的头节点作为链表的表示。
完整的函数形式如下:
```python
def insert_at_head(head, data):
if head is None:
return Node(data)
else:
new_node = Node(data)
new_node.next = head
return new_node
```