数据结构:随机产生10个0-50的自然数,放入单链表L用c++写
时间: 2024-11-27 18:22:12 浏览: 6
10随机产生一个从0-100之间的整数,判断是否是质数.docx
在C++中,我们可以创建一个动态单链表(Dynamic Linked List)来存储这10个随机生成的自然数。首先,我们需要定义节点结构体(Node)以及链表头指针。下面是一个简单的示例,演示如何实现这个功能:
```cpp
#include <iostream>
#include <cstdlib> // 包含rand()函数
#include <ctime> // 初始化随机数种子
// 定义链表节点结构体
struct Node {
int data;
Node* next;
};
// 随机生成0到50之间的整数
int random_number() {
srand(time(0)); // 设置随机数种子,保证每次程序运行得到不同序列
return rand() % 51; // 51是因为我们要包含50这个数
}
// 创建一个新的链表节点并插入数据
Node* insert(Node*& head, int value) {
Node* newNode = new Node();
newNode->data = value;
newNode->next = head;
head = newNode;
return head;
}
// 主函数生成并插入链表
void generate_and_insert_list(Node*& head) {
for (int i = 0; i < 10; ++i) {
head = insert(head, random_number());
}
}
// 打印链表中的元素
void print_list(Node* head) {
while (head != nullptr) {
std::cout << head->data << " ";
head = head->next;
}
std::cout << std::endl;
}
int main() {
Node* head = nullptr;
generate_and_insert_list(head);
std::cout << "Generated list with 10 random numbers between 0 and 50:\n";
print_list(head);
return 0;
}
```
在这个代码中,`generate_and_insert_list` 函数用于生成并插入10个随机数,`print_list` 函数用于遍历链表并打印每个元素。运行这段代码后,你会看到一个含有10个0到50之间随机数的单链表。
阅读全文