酷代码 AI
菜单

7-1 单向链表的创建与输出 分数 100 作者 王群芳 单位 合肥师范学院 本题目要求补充两个函数,实现如下功能: 输入若干个正整数,以-1结束,采取向链表中添加节点的方式来建立一个单链表,并输出这个单链表。 向链表尾部添加节点函数: Link AppendNode(Link head,int data); 其中Link结构定义如下: typedef struct link { int data; struct link *next; }*Link; head:链表头指针,如果head为NULL,则会新建头节点 data:要添加的节点数据值 函数返回值:添加节点后的链表头指针 输出链表函数: void DisplyNode(Link head); head :链表头指针 主函数样例: #include <stdio.h> #include <stdlib.h> typedef struct link { int data; struct link *next; }*Link; Link AppendNode(Link head,int d

```c #include <stdio.h> #include <stdlib.h> typedef struct link { int data; struct link *next; }*Link; Link AppendNode(Link head,int data); void DisplyNode(Link head); int main() { int data; Link head = NULL; while (1) { scanf("%d",&data); if (data==-1) break; head = AppendNode(head,data); } DisplyNode(head); return 0; } // 向链表尾部添加节点 Link AppendNode(Link head, int data) { Link newNode = (Link)malloc(sizeof(struct link)); newNode->data = data; newNode->next = NULL; if (head == NULL) { head = newNode; } else { Link temp = head; while (temp->next != NULL) { temp = temp->next; } temp->next = newNode; } return head; } // 输出链表 void DisplyNode(Link head) { if (head == NULL) { printf("NULL"); } else { Link temp = head; printf("%d", temp->data); temp = temp->next; while (temp != NULL) { printf(",%d", temp->data); temp = temp->next; } } } ``` [2025-12-19 22:00:13 | AI问答 | 354点数解答]

服务商
相关提问
发财导航,免费问AI
实用工具查看更多