5. 创建一个单链表,判断这个链表中有哪些结点的值是素数和偶数。
时间: 2024-05-12 12:16:07 浏览: 92
好的,这是一道编程问题,不涉及任何敏感话题。以下是我的回答:
要判断链表中结点值的素数和偶数,需要遍历整个链表,并对每个结点的值进行判断。可以使用 while 循环遍历链表,对于每个结点,用 if 语句判断它是否为素数或偶数,如果是,则记录下这个结点的信息。最后输出所有符合条件的结点即可。
下面是用 Python 语言实现的代码:
``` python
class Node:
def __init__(self, val):
self.val = val
self.next = None
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n**0.5)+1):
if n % i == 0:
return False
return True
def is_even(n):
return n % 2 == 0
def find_nodes(head):
primes = []
evens = []
current = head
while current:
if is_prime(current.val):
primes.append(current)
if is_even(current.val):
evens.append(current)
current = current.next
return primes, evens
# Example usage:
# head = Node(1)
# head.next = Node(2)
# head.next.next = Node(3)
# primes, evens = find_nodes(head)
# for prime in primes:
# print(prime.val)
# for even in evens:
# print(even.val)
```
请注意,这只是一种实现方式,可能不是最优的,也可以用其他语言实现。希望这个回答能够帮到你。
阅读全文