题目1:编程实现单链表的创建、查找、删除、插入操作。
时间: 2024-09-23 14:06:58 浏览: 17
在编程中,单链表是一种常见的数据结构,它由节点组成,每个节点包含一个数据元素和指向下一个节点的指针。下面是单链表的一些基本操作:
1. 创建单链表:
- 初始化一个空链表:创建一个头结点(通常值为空),然后所有其他节点都将链接到这个头结点上。
```python
class Node:
def __init__(self, data=None):
self.data = data
self.next = None
# 创建空链表
head = Node()
```
2. 查找(搜索)特定元素:
- 定义一个 `search` 或 `find` 函数,在给定条件(如数据或索引)下遍历链表查找目标节点。
```python
def search(head, target):
current = head
while current is not None and current.data != target:
current = current.next
return current is not None
```
3. 删除元素:
- 定义 `delete` 函数,需要考虑删除头部、中间或尾部节点的情况。删除头部节点简单,删除中间或尾部则需找到前一个节点。
```python
def delete_node(head, key):
if head is None or head.data == key:
return head
prev = head
curr = head.next
while curr is not None:
if curr.data == key:
prev.next = curr.next
return head
prev = curr
curr = curr.next
4. 插入元素:
- 定义 `insert` 函数,可以在指定位置插入新节点。
```python
def insert_node(head, data, position=0):
new_node = Node(data)
if position == 0:
new_node.next = head
head = new_node
else:
curr = head
for _ in range(position - 1):
if curr.next is None:
break
curr = curr.next
new_node.next = curr.next
curr.next = new_node