定义名为construct的函数,用于创建一个拥有10个节点的链表,每个节点的数据要求从键盘输入要求c语言
时间: 2024-11-27 17:20:45 浏览: 3
C语言实现输出链表中倒数第k个节点
5星 · 资源好评率100%
在C语言中,我们可以定义一个`construct`函数来创建一个动态链表结构,其中包含10个节点。由于C语言本身没有内置的链表数据结构,我们需要自定义链表节点结构,并允许用户输入数据。这里是一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h> // 用于malloc和free
// 自定义链表节点结构
typedef struct Node {
int data; // 节点数据
struct Node* next; // 指向下一个节点的指针
} Node;
// 构造函数,创建并初始化链表
Node* construct() {
Node* head = NULL;
Node* current = NULL;
int i;
for (i = 0; i < 10; i++) { // 循环创建10个节点
Node* newNode = (Node*) malloc(sizeof(Node)); // 动态分配内存
if (newNode == NULL) {
printf("Memory allocation failed!\n");
return NULL;
}
printf("Enter data for node %d: ", i + 1);
scanf("%d", &newNode->data); // 输入数据
newNode->next = NULL; // 初始化新节点的next指针为空,如果是第一个节点,则head也为它
if (head == NULL) {
head = current = newNode;
} else {
current->next = newNode;
current = newNode;
}
}
return head;
}
int main() {
Node* list = construct();
if (list != NULL) {
printf("Constructed chain list with 10 nodes.\n");
// 更多的链表操作...
} else {
printf("Failed to create the list.\n");
}
return 0;
}
```
在这个例子中,我们首先定义了一个`Node`结构,然后在`construct`函数中通过循环创建10个节点,每次创建一个新的节点后,将其添加到链表的末尾。记得处理内存分配失败的情况。
阅读全文