设链表结点结构已经给出,试编写链表插入函数Insert将实现链表末尾添加字符串,再编写函数Print,实现链表中链表数据打印,编写Destroy函数,实现链表的销毁释放,并在main函数中写出完整的调用过程。
时间: 2023-07-10 19:33:17 浏览: 77
链表结点结构如下:
```c
typedef struct Node{
char str[100];
struct Node *next;
}Node, *LinkList;
```
链表插入函数Insert的实现:
```c
void Insert(LinkList *L, char str[]){
Node *p = (Node*)malloc(sizeof(Node));
strcpy(p->str, str);
p->next = NULL;
if(*L == NULL){
*L = p;
return;
}
Node *q = *L;
while(q->next != NULL){
q = q->next;
}
q->next = p;
}
```
链表打印函数Print的实现:
```c
void Print(LinkList L){
if(L == NULL){
printf("链表为空");
return;
}
Node *p = L;
while(p){
printf("%s ", p->str);
p = p->next;
}
printf("\n");
}
```
链表销毁函数Destroy的实现:
```c
void Destroy(LinkList *L){
Node *p = *L;
while(p){
Node *q = p;
p = p->next;
free(q);
}
*L = NULL;
}
```
在main函数中的调用过程:
```c
int main(){
LinkList L = NULL;
Insert(&L, "hello");
Insert(&L, "world");
Insert(&L, "!");
Print(L);
Destroy(&L);
return 0;
}
```
输出结果为:hello world !
阅读全文