编写程序,将若干整数从键盘输入,以单链表形式存储起来,然后计算单链表中结点的个数(其中指针P指向该链表的第一个结点)
时间: 2024-10-17 14:04:48 浏览: 27
编写这样的程序可以分为以下几个步骤:
1. 定义单链表节点结构:首先创建一个Node类,包含整数值(value)和指向下一个节点的引用(next)。
```python
class Node:
def __init__(self, value=0):
self.value = value
self.next = None
```
2. 输入整数并构造链表:使用循环从键盘获取整数,并将其添加到链表中。这里假设有一个全局变量`head`作为链表的头结点。
```python
def input_and_create_list():
head = Node() # 创建一个空链表
current = head
while True:
try:
num = int(input("请输入一个整数(结束请输入-1):"))
if num == -1:
break
current.next = Node(num) # 添加新节点
current = current.next # 更新当前节点
except ValueError:
print("输入无效,请输入整数。")
```
3. 计算节点个数:遍历链表,当遇到None(表示链表结束)时停止计数,并返回结果。
```python
def count_nodes(head):
count = 0
current = head
while current is not None:
count += 1
current = current.next
return count
```
4. 主函数整合:在主函数中调用上述两个函数,最后输出节点总数。
```python
def main():
head = input_and_create_list()
node_count = count_nodes(head)
print(f"链表中共有 {node_count} 个节点。")
if __name__ == "__main__":
main()
```
阅读全文