刚学的链表,求个示范
1、输入字符a至f,按输入字符的顺序建立一个字符结点(每个结点存储一个字符)的单向链表,输出该链表中的字符,并释放链表结点所占用的空间。 #include <stdio.h>#include <malloc.h>
typedef struct Node {
char data;
struct Node* next;
}Node;
void show(Node* head) {
if (!(head)) {
return;
}
show(head->next);
printf("%c ", head->data);
}
void freeAll(Node** head) {
Node* p;
while (*head) {
p = *head;
*head = (*head)->next;
free(p);
}
free(*head);
}
int main(void) {
Node* head, * tail = head = NULL;
char string = "abcdef"; // 字符 a 至 f
int i = 0;
// 按输入字符的顺序建立一个字符结点(每个结点存储一个字符)的单向链表
while (string) {
tail = head;
head = (Node*)malloc(sizeof(Node));
if (head) {
head->data = string;
head->next = tail;
}
}
// 输出该链表中的字符
show(head);
// 释放链表结点所占用的空间
freeAll(&head);
return 0;
}
页:
[1]