创建一个长度为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 Linux环境下CA证书更新问题
- ¥60 微信小程序如何上传QQ聊天文件
- ¥300 开发的系统遭到无良商家的破解,请问如何防止再次发生,并追回损失
- ¥15 java代码写在记事本上后在cmd上运行时无报错但又没生成文件
- ¥15 关于#python#的问题:在跑ldsc数据整理的时候一直抱这种错误,要么--out识别不了参数,要么--merge-alleles识别不了参数(操作系统-linux)
- ¥15 PPOCRLabel
- ¥15 混合键合键合机对准标识
- ¥100 现在不懂的是如何将当前的相机中的照片,作为纹理贴图,映射到扫描出的模型上
- ¥15 安卓OpenCV人脸识别分类器加载
- ¥15 魔霸ROG7 pro,win11.息屏后会显示黑屏,如图,如何解决?(关键词-重新启动)