c语言链表单链表遍历输入元素
时间: 2024-09-18 22:10:19 浏览: 64
c语言链表数组-c语言手写单链表实现,数组和链表结构对比小结和个人理解 数组和链表.pdf
在C语言中,链表是一种线性的数据结构,其中每个节点包含数据和指向下一个节点的指针。遍历链表意味着依次访问每个节点并处理其内容。这里有一个基本的例子,展示如何从用户输入开始构建和遍历单向链表:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义链表节点结构
struct Node {
int data;
struct Node* next;
};
// 创建新节点函数
struct Node* createNode(int value) {
struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));
if (newNode == NULL) {
printf("Memory allocation failed.\n");
return NULL;
}
newNode->data = value;
newNode->next = NULL;
return newNode;
}
// 遍历链表
void traverseList(struct Node* head) {
while (head != NULL) {
printf("Data: %d\n", head->data);
head = head->next; // 移动到下一个节点
}
}
int main() {
struct Node* head = NULL;
int input;
printf("Enter numbers to build a linked list, or 'quit' to stop:\n");
do {
scanf("%d", &input);
struct Node* newNode = createNode(input);
if (newNode != NULL) {
if (head == NULL) {
head = newNode;
} else {
struct Node* temp = head;
while (temp->next != NULL) {
temp = temp->next;
}
temp->next = newNode;
}
}
} while (input != 'quit');
// 遍历链表
traverseList(head);
return 0;
}
```
在这个例子中,用户会连续输入数字,直到输入'quit'为止,系统会将这些数字添加到链表中,并最后遍历显示所有输入的元素。
阅读全文