qcode
  • 创作工场专业版,一问多答!更智能、更完整、更原创
  • 这是一个超强内容创作平台,它会写文章、做设计、绘图、敲代码,有问必答!
🔥点击使用-高级专业版🔥

单链表操作验证:C语言实现、结构存储与功能展示

时间2023-11-29 18:37:03 提问来自 天津市天津市 的网友 分类创作 浏览256
实验代码如下: ```c #include <stdio.h> #include <stdlib.h> typedef struct Node { int data; struct Node *next; } Node; Node *createNode(int data) { Node *newNode = (Node *)malloc(sizeof(Node)); newNode->data = data; newNode->next = NULL; return newNode; } void insertNode(Node **head, int data) { Node *newNode = createNode(data); newNode->next = *head; *head = newNode; } void deleteNode(Node **head, int data) { Node *temp = *head, *prev; if (temp != NULL && temp->data == data) { *head = temp->next; free(temp); return; } while (temp != NULL && temp->data != data) { prev = temp; temp = temp->next; } if (temp == NULL) return; prev->next = temp->next; free(temp); } void printList(Node *head) { Node *temp = head; while (temp != NULL) { printf("%d -> ", temp->data); temp = temp->next; } printf("NULL "); } int main() { Node *head = NULL; int choice, data; while (1) { printf("1. 创建链表 "); printf("2. 插入节点 "); printf("3. 删除节点 "); printf("4. 打印链表 "); printf("5. 退出 "); printf("请输入您的选择:"); scanf("%d", &choice); switch (choice) { case 1: printf("请输入要插入的数据:"); scanf("%d", &data); insertNode(&head, data); break; case 2: printf("请输入要删除的数据:"); scanf("%d", &data); deleteNode(&head, data); break; case 3: printList(head); break; case 4: printList(head); break; case 5: exit(0); default: printf("无效的选择,请重新输入。 "); } } return 0; } ``` 这段代码实现了单链表的基本操作,包括创建链表、插入节点、删除节点和打印链表。通过一个菜单的形式展示和选择操作。

不满意?免费深度重写!

免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。

上一篇 广告策划工作全解析:性质、任务、环境及发展 下一篇 个人鉴定部分:要求毕业生从个人实际出发,对个人品行给予正确评价(思想、学习、生活、目标等方面),字数不少于500字,专科