标题:数据结构:单链表中在P结点前插入S结点

在数据结构的习题中偶然看到了一个题目
已知在单链表中P不是首元结点也不是尾元结点,在P结点前插入S结点

#include<stdio.h>
#include<malloc.h>
typedef struct node
{int date;struct node * next;
}Node,*LinkList;
LinkList CreatList(LinkList L)
{int i;LinkList node,end;L=(LinkList)malloc(sizeof(Node));end=L;for(i=0;i<5;i++){node=(LinkList)malloc(sizeof(Node));node->date=i;/*为了表示方便,这里采用常用的方法:将i的值当作结点中存放的信息*/ end->next=node;end=node;} end->next=NULL;return L;
}
void Show(LinkList L)
{L=L->next;while(L!=NULL){printf("%d ",L->date);L=L->next;}printf("\n");
}
int main()
{LinkList L=CreatList(L);Show(L);/*创建好的链表输出应为:0 1 2 3 4*/ LinkList t=L;LinkList P,S;int i;S=(LinkList)malloc(sizeof(Node));/*给S分配空间*/ S->date=10;/*这里将10作为S结点中存放的信息*/ for(i=0;i<2;i++)t=t->next; P=t;/*在这里以P为第二个结点为例*/ /*上述都是为将S插在P前面所做的准备,下面开始进行插入*/ LinkList Q;Q=P;P=L;while(P->next!=Q)P=P->next;P->next=S;S->next=Q;Show(L);/*插入后的链表输出应为:0 10 1 2 3 4*/
}

运行结果如下:

0 1 2 3 4
0 10 1 2 3 4

数据结构:单链表中在P结点前插入S结点相关推荐

  1. 西电数据结构上机题目-删除单链表中介于min与max之间的结点

    希望学长的代码能给大二西电er们带来帮助(大家一定要好好学习数据结构,合理利用资源) 大家找到了什么bug或有什么改进意见可以私信我或在下方留言,我都会看的 不多说废话直接上代码 #include&l ...

  2. 求单链表的最大值与原地逆转_数据结构:单链表中求最大值的算法。

    可以参考下面的代码: public static int FindMax(Node head) { if (head == null) return 0; int Max = head.value; ...

  3. java单链表逆序输出_在数据结构单链表中如何实现倒序输出

    引用du瓶邪的回答: 如下: #include #include typedef struct node { int data; node* pNext; }Node; //链表的操作,以有头节点为例 ...

  4. 狸猫换太子--删除无头单链表中结点

    狸猫换太子–删除无头单链表中结点 @(算法学习) 学习自<编程之美>. 很有意思的一种做法. 给定一个没有头指针的单链表,一个指针指向次单链表中的一个中间结点,删除此结点. 分析:这种根本 ...

  5. 无头结点单链表的逆置_从无头单链表中删除节点及单链表的逆置

    题目: 假设有一个没有头指针的单链表.一个指针指向此单链表中间的一个节点(非第一个节点, 也非最后一个节点).请将该节点从单链表中删除. 解答: 典型的"狸猫换太子", 若要删除该 ...

  6. 单链表中倒数第K个结点

    单链表中倒数第K个结点 链表结点定义如下: typedef int ElemType;typedef struct Node {ElemType data; struct Node *next; }H ...

  7. 写一个函数DeleteRange删除单链表中结点的值在low 和high之间的结点

    /*实验2 1. 写一个函数DeleteRange删除单链表中结点的值在low 和high之间的结点 (low和high的值是多少可自由设计).并且要在程序中验证其功能实现. (可在实验1的第3题的基 ...

  8. 数据结构和算法设计专题之---判断单链表中是否有环,环的长度,环的入口节点...

    题目: 给定一个单链表,只给出头指针head: 1.如何判断是否存在环? 2.如何知道环的长度? 3.如何找出环的连接点在哪里? 4.带环链表的长度是多少?   解法: 1.对于问题1,使用追赶的方法 ...

  9. SDUT_2122 数据结构实验之链表七:单链表中重复元素的删除

    提交代码 数据结构实验之链表七:单链表中重复元素的删除 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Proble ...

最新文章

  1. Android学习笔记---Material Design设计理念
  2. python使用os和shutil模块进行文件创建,删除,移动,复制,重命名
  3. C语言——反弹球游戏(第三阶段
  4. NOP (code)_NOP指令作用及解析
  5. QPainter 的状态保存与恢复
  6. java学习(124):小综合案例
  7. Linux服务器---phpMyAdmin
  8. MYSQL 慢查询日志分析
  9. 艾伟:如何实现用返回值重载
  10. js改变style中的值
  11. 马哥python培训视频
  12. JDK1.8和JRE文件结构
  13. 「冰狐智能辅助」如何实现在线实时调试?
  14. 基于爬取百合网的数据,用matplotlib生成图表
  15. EL表达式JSTL标签库小结
  16. JavaScript的简单认识
  17. 一个男朋友写给女朋友的信!爆笑(真勇敢)
  18. PLSQL入门与精通(第72章:LOGOFF触发器)
  19. activity_manager_server
  20. golang —— go语言科学记数法使用

热门文章

  1. 哪款国产ESD二极管可直接替代LC3311CCW?
  2. zstuoj 4246 萌新吃果果
  3. Python 绘图大全之使用 Python Folium 制作生成热图的详细指南
  4. 数据库恢复时出现诸如“设备激活错误
  5. RAKsmart:Linux SSH 客户端断开后保持进程继续运行配置方法
  6. 程序人生-hit计统大作业
  7. HTML5网页设计制作基础大二dreamweaver作业、使用HTML+CSS技术制作博客网站(5个页面)...
  8. 6s英语语法笔记(图片炸了)
  9. 计算机在医学影像学的应用,计算机图像数字化与医学影像学之应用探析
  10. ros机器人gazebo仿真