创建一个长度为6的双链表,要求在第三个结点之前任意插入一个新结点,并输出结果
3条回答 默认 最新
- 技术专家团-小桥流水 2021-10-29 12:09关注
代码如下,如有帮助,请帮忙采纳一下,谢谢。
代码:
#include <stdio.h> #include <stdlib.h> struct Node { int data; struct Node *pre,*next; }; int main() { struct Node* head = 0,*p,*t; int i,data; int pos; printf("请输入6个数字:"); for (i=0;i<6;i++) { p = (struct Node*)malloc(sizeof(Node)); scanf("%d",&data); p->data = data; p->next = NULL; if (head == 0) { head = p; head->pre = NULL; t = head; }else { t->next = p; p->pre = t; t = p; } } printf("请输入插入位置(1-3)和数据,以空格分隔:"); scanf("%d %d",&pos,&data); p = (struct Node*)malloc(sizeof(Node)); p->data = data; p->pre = NULL; p->next = NULL; if(pos == 1) { p->next = head; head->pre = p; head = p; }else { t = head; i = 1; while(i<pos-1) { t = t->next; i++; } p->next = t->next; p->pre = t; t->next = p; } //显示: t = head; while(t) { printf("%d ",t->data); t = t->next; } //释放空间 while(head) { t = head->next; free(head); head = t; } head =0; return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
- ¥170 如图所示配置eNSP
- ¥20 docker里部署springboot项目,访问不到扬声器
- ¥15 netty整合springboot之后自动重连失效
- ¥15 悬赏!微信开发者工具报错,求帮改
- ¥20 wireshark抓不到vlan
- ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
- ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
- ¥15 stata安慰剂检验作图但是真实值不出现在图上
- ¥15 c程序不知道为什么得不到结果