① 随机产生一组两位数整数,建立线性表的单向链式存储结构。 ② 实现该线性链表的遍历。 ③ 在该链表中查找某一元素,查找成功显示查找元素,否则显示查找失败。 ④ 在该链表中删除或插入指定元素
时间: 2024-10-15 16:28:15 浏览: 23
首先,我们假设使用Python语言来演示如何完成这个任务:
① 生成随机两位数整数,并创建链表节点:
```python
import random
class Node:
def __init__(self, value):
self.value = value
self.next = None
def generate_random_list(size=10):
random_list = [random.randint(10, 99) for _ in range(size)]
return random_list
# 创建链表并存储随机数
numbers = generate_random_list()
head = Node(numbers[0])
current = head
for num in numbers[1:]:
current.next = Node(num)
current = current.next
```
② 实现链表的遍历:
```python
def traverse_list(head):
current = head
while current is not None:
print(current.value)
current = current.next
```
调用`traverse_list(head)`即可遍历整个链表。
③ 查找链表元素:
```python
def search_element(head, target):
current = head
found = False
while current and not found:
if current.value == target:
print(f"查找成功,找到元素 {target}")
found = True
else:
current = current.next
if not found:
print("查找失败")
# 示例搜索
search_element(head, numbers[5]) # 更改这里的数字作为查找目标
```
④ 删除链表中的元素:
```python
def delete_node(head, target):
if head is None or head.value == target:
if head is not None:
head = head.next
return
current = head
while current.next and current.next.value != target:
current = current.next
if current.next:
current.next = current.next.next
delete_node(head, numbers[2]) # 删除特定位置的元素
⑤ 插入元素到链表:
```python
def insert_node(head, position, value):
new_node = Node(value)
if position == 0:
new_node.next = head
head = new_node
else:
current = head
for _ in range(position - 1):
if current.next is None:
break
current = current.next
if current.next is not None:
new_node.next = current.next
current.next = new_node
insert_node(head, 3, random.randint(10, 99)) # 插入元素到指定位置
```
现在,你可以根据需要调用上述函数来操作链表了。记得替换`position`、`value`等参数为你想要的实际值。
阅读全文