正向建立单链表。题目描述\n\n题目内容:输入若干个正整数(输入-1为结束标志),要求按输入数据的逆序建立单链表并输出。\n\n\n输入格式:一行内输入若干个正整数,之间用空格隔开,并以-1结束。\n\n输出格式:
时间: 2023-05-02 12:02:13 浏览: 208
题目描述:
正向建立单链表。
题目内容:输入若干个正整数(输入-1为结束标志),要求按输入的逆序建立一个单链表,并输出该单链表。
输入格式:一行内按逆序输入若干正整数,以-1为结束标志。
输出格式:输出格式与建立链表的方式无关。
输入格式:一行内按逆序输入若干正整数,以-1为结束标志。
输出格式:输出格式与建立链表的方式无关。
解答:对于输入的每个正整数,我们可以按照“头插法”依次将元素插入链表中。因此,我们可以使用一个头指针,每次向其前面插入一个元素即可。如果输入-1,则说明已经输入完毕,此时应该输出链表的内容。具体实现过程可以参考下面的代码:
n = int(input()) # 输入第一个正整数
head = None # 头节点初始化为空
while n != -1:
node = {'data': n, 'next': head} # 新建节点,其指向头节点
head = node # 更新头节点
n = int(input()) # 输入下一个正整数
# 输出链表
while head:
print(head['data'], end=' ')
head = head['next']
相关问题
正向建立单链表。题目描述 题目内容:输入若干个正整数(输入-1为结束标志),要求按输入数据的逆序建立单链表并输出。 输入格式:一行内输入若干个正整数,之间用空格隔开,并以-1结束。 输出格式:一行内输出建立的单链表数据结果,之间用两个分隔符 -- 隔开,结束标志-1不输出。
以下是 Python 代码实现:
```python
class Node:
def __init__(self, data):
self.data = data
self.next = None
head = None
while True:
num = int(input())
if num == -1:
break
new_node = Node(num)
new_node.next = head
head = new_node
result = ""
while head:
result += str(head.data) + " -- "
head = head.next
print(result[:-4]) # 去掉最后的 --
```
使用链表来实现,每次输入一个数时就创建一个新的节点,将其插入到链表的头部,这样最后得到的链表是按照输入数据的逆序建立的。然后遍历链表,将每个节点的数据转换成字符串并拼接到结果字符串中,末尾的 `--` 需要去掉。
阅读全文