师–链表的结点插入

Time Limit: 1000 ms Memory Limit: 65536 KiB

Submit Statistic

Problem Description

给出一个只有头指针的链表和 n 次操作,每次操作为在链表的第 m 个元素后面插入一个新元素x。若m 大于链表的元素总数则将x放在链表的最后。

Input

多组输入。每组数据首先输入一个整数n(n∈[1,100]),代表有n次操作。

接下来的n行,每行有两个整数Mi(Mi∈[0,10000]),Xi。

Output

对于每组数据。从前到后输出链表的所有元素,两个元素之间用空格隔开。

Sample Input

4
1 1
1 2
0 3
100 4

Sample Output

3 1 2 4

Hint

#include <stdio.h>
#include <stdlib.h>
struct node
{int data;struct node*next;
};
struct node*head;
int len;
void insert(int m,int x);
void print();
int main()
{int n,i,m,x;while(~scanf("%d",&n)){   len=0;head=(struct node*)malloc(sizeof(struct node));head->next=NULL;for(i=0;i<n;i++){scanf("%d %d",&m,&x);insert(m,x);}print();}return 0;
}
void insert(int m,int x)
{struct node*p,*q;int i;p=head;for(i=0;i<m&&i<len;i++){p=p->next;}//关键是这里,让指针跑到p的后面,在p的后面插上qq=(struct node*)malloc(sizeof(struct node));q->next=NULL;q->data=x;q->next=p->next;p->next=q;len++;
}
void print()
{struct node*p;p=head->next;while(p){if(p==head->next){printf("%d",p->data);}else{printf(" %d",p->data);}p=p->next;}printf("\n");
}

链表之链表的结点插入相关推荐

  1. 建立一个按年龄排序的有序链表,每个结点包括学号、姓名、性别、年龄。建立一个新的结点,通过年龄将此结点插入到链表中去,使之仍然有序

    <程序设计基础实训指导教程-c语言> ISBN 978-7-03-032846-5 p143 7.1.2 上级实训内容 [实训内容12]建立一个按年龄排序的有序链表,每个结点包括学号.姓名 ...

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

    标题:数据结构:单链表中在P结点前插入S结点 在数据结构的习题中偶然看到了一个题目 已知在单链表中P不是首元结点也不是尾元结点,在P结点前插入S结点 #include<stdio.h> # ...

  3. Java 链表结点插入

    PS:链表是一种数据结构,而数据结构就是一种存放数据的方式. 为什么需要链表? 我们知道,数组也可以存储数据,那么为什么还需要链表呢?接下来,我们来看看数组 和链表的区别: 1.数组就像身上编了号站成 ...

  4. 已知带头结点的动态单链表L中的结点是按整数值递增排列的,试写一算法将值x为的结点插入到表L中,使L仍然有序。

    创建链表,main函数中通过while循环找出该插入的位置,插入.应注意L头节点位置的变化,利用一个ptr来记录L的头节点. /*已知带头结点的动态单链表L中的结点是按整数值递增排列的,试写一算法将值 ...

  5. 头插法和尾插法创建链表(有无头结点)

    头插法和尾插法创建链表(有无头结点) 文章目录 头插法和尾插法创建链表(有无头结点) 1 头插法 1.1头插法建表规则: 1.2 头插法建表代码实现 2 尾插法 2.1 尾插法建表规则: 2.2 尾插 ...

  6. c语言数组指定位置插入和删除_玩转C语言链表,单链表/双向链表的建立/遍历/插入/删除...

    最近临近期末的C语言课程设计比平时练习作业一下难了不止一个档次,第一次接触到了C语言的框架开发,了解了View(界面层).Service(业务逻辑层).Persistence(持久化层)的分离和耦合, ...

  7. c++ 链表_链表(单向链表的建立、删除、插入、打印)

    线性结构:有且只有一个根节点,且每个节点最多有一个直接前驱和一个直接后继的非空数据结构 非线性结构:不满足线性结构的数据结构 链表(单向链表的建立.删除.插入.打印) 1.链表一般分为: 单向链表 双 ...

  8. c语言给定一个单链表输入k,C语言实现单链表(不带头结点)的基本操作

    链表在数据结构和算法中的重要性不言而喻.这里我们要用C来实现链表(单链表)中的基本操作.对于链表的基本概念请参考<数据结构与算法之链表>这篇博客.示例代码上传至 https://githu ...

  9. 链表:链表分割问题:以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的结点之前

    链表分割: 以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的结点之前,注意:数据的顺序不改变. 代码实现: 链表的定义: typedef int SListDataType; t ...

最新文章

  1. Delphi - 数组 详解
  2. 微服务+:服务契约治理
  3. spss相关性分析看结果_利用spss做Pearson相关性分析步骤详解
  4. QT手动moc问题:virtual struct QMetaObject const * __thiscall Widget::metaObject
  5. 类型之间的相互转换php,php学习之数据类型之间的转换介绍
  6. 【Unity Shader】(六) ------ 复杂的光照(上)
  7. 教你用纯Java实现一个即时通讯系统(附源码)
  8. java单核多线程与多核多线程_多线程的程序在多核CPU与单核CPU运行效率有何不同 | 学步园...
  9. springboot生成包含特定数字_关于Spring Boot 这可能是全网最好的知识点总结
  10. Python3.GrADS的二进制码数据
  11. 动态规划之——矩阵连乘(全网最详细博文,看这一篇就够了!)
  12. 超参数调优方法整理大全
  13. 全球十大程序化交易系统 ( 有源码 )
  14. Python代码爬取下载应用宝所有APP软件
  15. playhome的php文件怎么导入,PLAY HOME家族崩坏Importor模型导入插
  16. 化妆品公司mysql_化妆品网站销售管理系统的设计与实现(SSH,MySQL)(含录像)
  17. R语言----逻辑回归各统计量解读
  18. android多文件上传错误,微信多图上传解决android多图上传失败问题
  19. Praat脚本-001 | 音频文件重新采样
  20. Oracle 动态性能视图 (x$, v$, gv$, v_$, gv_$)

热门文章

  1. 郭逸淵:4月7日比特幣(BTC)以太坊(ETH)行情分析及布局思路
  2. C语言修改dos窗口的大小
  3. c/c++中的内存分配器
  4. 【SpringBoot2—junit5断言、前置条件】
  5. oracle事件的特点,ORACLE 深入解析10053事件(1)
  6. Abstract Factory模式(抽象工厂模式)
  7. 如何编写智能合约(Smart Contract)?(II)建立加密代币
  8. java 捕获异常打印详细错误信息:Exception e
  9. 尘锋信息scrm与企鲸客的功能差别
  10. HTML5期末大作业:电影在线网站设计——漫威电影(2页) 免费大学生网页设计制作作业作品下载dreamweaver制作静态html网页设计作业作