用c语言编写算法,根据用户输入的字符数据用尾插入法创建一个带头结构的单链表
时间: 2023-05-11 13:01:59 浏览: 110
数据结构与算法教学大纲程序代码
5星 · 资源好评率100%
好的,这是一个常见的算法问题,以下是C语言的代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
typedef struct Node {
char data;
struct Node *next;
} Node, *LinkedList;
LinkedList createList() {
LinkedList head = (LinkedList) malloc(sizeof(Node));
head->next = NULL;
return head;
}
void insertNode(LinkedList head, char data) {
Node *newNode = (Node *) malloc(sizeof(Node));
newNode->data = data;
newNode->next = NULL;
Node *p = head;
while (p->next != NULL) {
p = p->next;
}
p->next = newNode;
}
void printList(LinkedList head) {
Node *p = head->next;
while (p != NULL) {
printf("%c ", p->data);
p = p->next;
}
printf("\n");
}
int main() {
LinkedList list = createList();
char input[100];
printf("请输入字符数据,以回车结束:\n");
scanf("%s", input);
for (int i = 0; input[i] != '\0'; i++) {
insertNode(list, input[i]);
}
printf("尾插入法创建的单链表为:\n");
printList(list);
return 0;
}
```
这个程序会根据用户输入的字符数据,创建一个带头结构的单链表,并输出链表中的所有元素。
阅读全文