如何使用C语言实现一个功能:根据用户输入构建一个长度为5的链表,链表节点包含一个整数,并按照输入顺序建立链表,然后逐个打印链表中的节点数据?
时间: 2024-12-14 15:27:34 浏览: 14
在C语言中,我们可以使用结构体(struct)来表示链表节点,同时使用指针来构建链表。以下是一个简单的步骤示例:
1. 定义链表节点结构体:
```c
typedef struct Node {
int data; // 节点存储的整数值
struct Node* next; // 指向下一个节点的指针
} Node;
```
2. 创建链表并插入节点:
```c
Node* createList(int input[]) {
Node* head = NULL;
Node* current = NULL;
for (int i = 0; i < 5; i++) {
Node newNode;
newNode.data = input[i];
newNode.next = NULL;
if (!head) {
head = &newNode;
current = head;
} else {
current->next = &newNode;
current = current->next;
}
}
return head;
}
```
这里假设你已经有了一个包含5个整数的一维数组input[],这个函数会遍历数组并将元素插入链表中。
3. 打印链表节点:
```c
void printList(Node* head) {
Node* temp = head;
while (temp != NULL) {
printf("%d ", temp->data);
temp = temp->next;
}
printf("\n");
}
```
你可以先调用`createList`函数创建链表,然后调用`printList`函数来显示链表内容。
完整代码示例:
```c
#include <stdio.h>
// ... (上述链表节点和链表操作的定义)
int main() {
int input[] = {1, 2, 3, 4, 5};
Node* listHead = createList(input);
printList(listHead);
return 0;
}
```
运行这段代码,你会看到按顺序打印出的链表节点数据:1 2 3 4 5。
阅读全文