编写程序建立一个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输入0时,表示结束(链表头结点的data域不放数据,表空条件是next==NULL)。
时间: 2024-02-12 20:09:07 浏览: 66
好的,我可以使用 Python 编写这个程序,以下是代码实现:
```python
# 定义链表结点类
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
# 创建头结点
head = ListNode()
# 输入结点数据,插入链表尾部
num = int(input("请输入链表结点数据,以0结束:"))
tail = head
while num != 0:
newNode = ListNode(num)
tail.next = newNode
tail = tail.next
num = int(input())
# 输出链表
p = head.next
print("链表结点数据为:")
while p:
print(p.val, end=" ")
p = p.next
print()
# 释放链表结点空间
p = head.next
while p:
temp = p
p = p.next
del temp
# 释放头结点空间
del head
```
程序流程说明:
1. 创建一个头结点,并将 next 指针初始化为 None,表示链表为空。
2. 通过循环输入结点数据,创建新结点并插入链表尾部。循环条件为输入的数字不为 0。
3. 遍历链表,输出结点数据。
4. 释放链表结点空间,依次删除每个结点。
5. 释放头结点空间。
希望这个程序能够帮助到你!
阅读全文