用c语言写读入n值及n个整数,建立单链表并遍历输出。
时间: 2024-05-08 12:16:00 浏览: 94
```c
#include <stdio.h>
#include <stdlib.h>
typedef struct Node {
int data;
struct Node *next;
} Node;
void createList(Node **head, int n) {
*head = NULL; // 初始化链表为空
Node *tail = NULL; // 尾指针初始化为空
for (int i = 0; i < n; i++) {
Node *newNode = (Node *)malloc(sizeof(Node));
if (!newNode) {
printf("内存分配失败\n");
exit(1);
}
printf("请输入第%d个元素:", i + 1);
scanf("%d", &(newNode->data));
newNode->next = NULL;
if (*head == NULL) { // 如果链表为空,则新节点为头结点
*head = newNode;
} else {
tail->next = newNode; // 将新节点链接到尾部
}
tail = newNode; // 更新尾指针
}
}
void traverseList(Node *head) {
printf("链表的元素为:");
while (head != NULL) {
printf("%d ", head->data);
head = head->next;
}
printf("\n");
}
int main() {
int n;
printf("请输入链表的节点个数:");
scanf("%d", &n);
Node *head;
createList(&head, n);
traverseList(head);
return 0;
}
```
阅读全文