C语言单链表头插法输入字符并输出
时间: 2023-07-11 12:09:00 浏览: 78
以下是使用头插法实现单链表输入字符并输出的C语言代码:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义链表结构体
struct Node {
char data;
struct Node* next;
};
int main() {
// 初始化头节点
struct Node* head = (struct Node*)malloc(sizeof(struct Node));
head->next = NULL;
printf("请输入一串字符(以回车结束):\n");
// 头插法插入字符
char c;
while ((c = getchar()) != '\n') {
struct Node* new_node = (struct Node*)malloc(sizeof(struct Node));
new_node->data = c;
new_node->next = head->next;
head->next = new_node;
}
// 输出链表中的字符
printf("输出链表中的字符:\n");
struct Node* cur = head->next;
while (cur != NULL) {
printf("%c", cur->data);
cur = cur->next;
}
// 释放链表内存
struct Node* tmp;
cur = head;
while (cur != NULL) {
tmp = cur;
cur = cur->next;
free(tmp);
}
return 0;
}
```
以上代码中,我们使用`struct Node`定义了单链表的结构体,包括数据域`char data`和指向下一个节点的指针`struct Node* next`。在`main`函数中,我们首先初始化了一个头节点`head`,然后通过头插法不断插入输入的字符,最后遍历链表输出其中的字符。最后,我们释放链表的内存。
阅读全文