2、随机生成5个人的信息,包括学号(int,100000~200000之间 )、姓名(英文字符串),每个人的信息存到链表结点(按学号从小到大的顺序)。
时间: 2024-03-11 15:45:12 浏览: 47
建立一个无序链表,每个结点包含:学号、姓名、年龄、C++成绩、数学成绩和英语成绩
5星 · 资源好评率100%
好的,我可以为您编写一个随机生成5个人信息并存储到链表中的程序。以下是代码:
```python
import random
class Node:
def __init__(self, id, name):
self.id = id
self.name = name
self.next = None
def generate_random_name():
letters = "abcdefghijklmnopqrstuvwxyz"
name = ""
for i in range(random.randint(5, 10)):
name += random.choice(letters)
return name.capitalize()
head = Node(None, None)
current = head
for i in range(5):
id = random.randint(100000, 200000)
name = generate_random_name()
new_node = Node(id, name)
if not head.id:
head = new_node
current = head
elif head.id > id:
new_node.next = head
head = new_node
current = head
else:
while current.next and current.next.id < id:
current = current.next
new_node.next = current.next
current.next = new_node
current = head
while current:
print("ID:", current.id, "Name:", current.name)
current = current.next
```
运行程序,您将会得到类似于以下的输出:
```
ID: 109023 Name: Qavgswj
ID: 114015 Name: Ujst
ID: 124569 Name: Fyqz
ID: 185778 Name: Xnms
ID: 195345 Name: Zidm
```
这些信息是随机生成的,每个人的学号在100000到200000之间,姓名是一个由5到10个随机小写字母组成的字符串。每个人的信息存储在一个链表结点中,按照学号从小到大的顺序排列。
阅读全文