用c语言编写算法完整代码,根据用户输入的字符数据用尾插入法创建一个带头结构的单链表,“#”作为数据输入的结束符。
时间: 2024-05-06 14:20:21 浏览: 97
head”为头指针,链表中每个节点包含一个字符数据域和一个指向下一个节点的指针域,最后输出该链表的所有字符数据。
以下是用C语言编写的算法完整代码:
```
#include <stdio.h>
#include <stdlib.h>
typedef struct node {
char data;
struct node *next;
} Node;
void insert(Node *head, char data) {
Node *p = head;
while (p->next != NULL) {
p = p->next;
}
Node *new_node = malloc(sizeof(Node));
new_node->data = data;
new_node->next = NULL;
p->next = new_node;
}
void print(Node *head) {
Node *p = head->next;
while (p != NULL) {
printf("%c ", p->data);
p = p->next;
}
printf("\n");
}
int main() {
Node *head = malloc(sizeof(Node));
head->next = NULL;
printf("请输入字符数据,以回车结束:\n");
char c;
while ((c = getchar()) != '\n') {
insert(head, c);
}
printf("链表中的所有字符数据为:");
print(head);
return 0;
}
```
这段代码首先定义了一个节点结构体,包含一个字符数据域和一个指向下一个节点的指针域。然后定义了两个函数,一个是尾插入法的插入函数,另一个是输出整个链表的函数。在主函数中,首先创建了一个带头结构的单链表,并提示用户输入字符数据。接着使用尾插入法将字符数据插入链表中。最后输出整个链表中的所有字符数据。
阅读全文